Also Known As: PICT, Macintosh Picture, .PCT, QuickDraw Picture Format
|Colors||Up to 24-bit|
|Maximum Image Size||NA|
|Multiple Images Per File||No|
|Originator||Apple Computer, Inc.|
|Supporting Applications||Most Macintosh programs|
|See Also||Macintosh Paint|
Desktop publishing, paint, and imaging applications using QuickDraw calls.
A versatile format in wide use on the Macintosh by applications having anything to do with graphics. Because of its complexity, however, it is seldom supported on other platforms.
Vendor specifications are available for this format.
Code fragments are available for this format.
Sample images are available for this format.
The Macintosh PICT (Macintosh Picture) format is associated with applications on the Macintosh and is one of the best supported formats on that platform. PICT files are meant to encapsulate the functionality of QuickDraw, the native graphics drawing protocol on the Macintosh, and consist mainly of QuickDraw calls arranged in no particular order. There have been two major releases of QuickDraw, v1.0 and v2.0 (Color QuickDraw). There have also been numerous minor QuickDraw revisions, each associated with a corresponding Macintosh PICT version.
QuickDraw v1.0 supports monochrome bitmaps up to 32K in size. Image resolution is fixed at the original Macintosh display resolution, or 72 dpi.
QuickDraw v2.0, sometimes known as Color QuickDraw, supports 8-bit bitmaps as well as monochrome. There is no compression available for 8-bit Version 2.0 PICT files.
All information in Macintosh PICT files is stored in the data fork of the Macintosh file pair. Although the resource fork may be present, it is left empty. Image data is stored in binary format and consists of a series of operators and associated data.
High-level routines in the Macintosh ToolKit are available to read and write PICT files and are often used when writing applications that translate PICT files to other image file formats.
All Macintosh PICT files start with a 512-byte header, which contains information that the Macintosh uses to keep track of the file. This is followed by three fields describing the image size (picSize), the image frame (picFrame), and a version number. In v2.0 files, another header follows. In both versions, the preceding information is followed by the image data. In all versions, the end of the file is signalled by an end-of-file operator.
QuickDraw, and consequently the Macintosh PICT format, is far too complex for us to do justice to it here, so we will merely note some details about the start of the file. A good deal of information and codes are included on the CD-ROM. Note that most secondary references only give examples of bitmap encoding and ignore the vector nature of the format.
The information following the platform-specific 512-byte header is in the following format:
SHORT File size in bytes SHORT Frame x-value of top left of image (at 72 dpi) SHORT Frame y-value of top left of image (at 72 dpi) SHORT Frame x-value of lower right of image (at 72 dpi) SHORT Frame y-value of lower right of image (at 72 dpi)
in v1.0 files, this is followed by:
BYTE Version operator(0x11) BYTE Version number(0x01)or, in v2.0 files, by:
SHORT Version operator (0x0011) SHORT Version number (0x02ff)
Version 2.0 files also have a 26-byte header following the version information:
SHORT Header opcode for Version 2 (0C00) SHORT FFEF or FFEE SHORT Reserved (0000) LONG Original horizontal resolution in pixels/inch LONG Original vertical resolution in pixels/inch SHORT Frame upper left x at original resolution SHORT Frame upper left y original resolution SHORT Frame lower right x at original resolution SHORT Frame lower right y at original resolution LONG Reserved
picSize and picFrame records follow the header.
WORD Picture size in bytes WORD Image top WORD Image left WORD Image bottom WORD Image right
picFrame (PICT v1.0)
BYTE Version (11h) BYTE Picture version (01h)
This is followed by the image data. Each record in a PICT version 1 file consists of a one-byte opcode followed by the actual data.
picFrame (PICT v2.0)
WORD Version (0011h) WORD Picture version (02ffh) WORD Reserved header opcode (0c00h) WORD Header opcode (0c00h) DWORD Picture size (bytes) DWORD Original horizontal resolution (pixels/inch) DWORD Original vertical resolution (pixels/inch) WORD x value of top left of image WORD y value of top left of image WORD x value of lower right of image WORD y value of lower right of image DWORD Reserved
This is followed by the image data. Each record of a PICT v2.0 file consists of a two-byte opcode followed by the actual data. Note that opcodes and data must be aligned on 16-byte boundaries, and that certain opcodes in PICT v1.0 and v2.0 files are interpreted differently.
For further information about the Macintosh PICT format, see the documentation and sample code included on the CD-ROM.
Additional information on the Macintosh PICT format may be obtained from Claris Corporation, a software spinoff from Apple, in the form of an update to Apple Technical Note #27. Apple Technical Notes may be obtained from Apple Computer and from many online information services. Contact:
Apple Computer, Inc.
20525 Mariani Avenue
Cupertino, CA 95104
5201 Patrick Henry Drive
P.O. Box 58168
Santa Clara, CA 95052-8168
Technical Support: 408-727-9054
Customer Relations: 408-727-8227
Other Apple Technical Notes related to Macintosh PICT and other Apple formats include:
TN #021 QuickDraw Picture Definitions
TN #041 Offscreen Bitmaps
TN #091 Optimizing of the LaserWriter--Picture Comments
TN #119 Color QuickDraw
TN #120 Offscreen PixMap
TN #171 Things You Wanted to Know About PackBits
TN #181 Every Picture (Comment) Tells Its Story, Don't It?
TN #154 Displaying Large PICT Files
TN #275 32-Bit QuickDraw Version 1.2 Features
Additional information on the PICT format can be found in:
Apple Computer, Inside Macintosh, vols. I, V, and VI, Addison-Wesley, Reading, MA, 1985.
These volumes are also available on the Apple Developer CDs.