PICT
PICT, or QuickDraw/PICT, is a graphics format native to Macintosh computers. It is associated with the QuickDraw API.
Though it is a vector format, it is often used as if it were a raster format. Many files contain just a single bitmap image.
PICT format is complicated and quirky. Although plenty of documentation about it exists, there does not appear to be any single source that provides a reasonably clear and complete specification.
Contents |
Format details
When PICT is used as a standalone file format, the file usually starts with an unused 512-byte header, usually with all bytes set to 0. When PICT is embedded as a resource inside some other format, this header is usually not present.
Identification
A version 1 PICT file has (hex) bytes 11 01
at offset 522 (or 10 if there is no header), and should end with ff
.
A version 2 PICT file has bytes 00 11 02 ff 0c 00
at offset 522 (or 10 if there is no header), and should end with 00 ff
.
Application data
Custom application data can be stored in PICT files by using the "LongComment" opcode. Each comment has an integer that identifies its "kind".
Notable comment kinds:
- 100 is an Application Comment (see below).
- 220 is used for ICC profile data.
- 498 appears to be related to Photoshop, though it might also be used for other things.
The "kind" does little to identify the application, or prevent collisions. A better way is to use kind 100, which has a standard way to include a 4-byte application signature.
Related formats
- Many bitmap images are compressed using PackBits.
- Opcodes 0x8200 and 0x8201 use a format based on QuickTime or QTIF. This, in turn, is often used as a wrapper for an image in JPEG format.
- Macintosh resource file - Often contains "PICT" resources in this format
- PICT is used for graphics stored within Keynote documents.
- Encapsulated PostScript
Specifications
- Inside Macintosh: Imaging With QuickDraw
- PICT File Format Notes
- Macintosh Technical Note QD14 (a.k.a. TN21): QuickDraw's Internal Picture Definition - PICT version 1 (from archive.org)
- PICT.ZIP - Probably a lot of information here, but in inconvenient formats
- Macintosh Technical Note QD06 (a.k.a TN181): Every Picture [Comment] Tells Its Story, Don't It? - PICT Application Comments (from archive.org)
- HELIOS ICC profile tagging specifications - Tells how to embed an ICC profile in a PICT file
Software
Vector-based software
(software that can process PICT vectors as vectors)
Other software
- Netpbm
- ImageMagick (for PICT v2)
- image2pict1 (for PICT v1)
- IrfanView
- Deark (for analysis, resource extraction)
- XnView
Converting
Converting from PICT
An image can be converted from a PICT using ImageMagick:
convert image.pict image.png
This example shows a PNG image as the destination image, but ImageMagick supports many other output formats.
Converting to PICT
An image can be converted to a PICT using ImageMagick:
convert image.png image.pict
This example shows a PNG image as the source image, but ImageMagick supports many other input formats.
Using converted images on a classic Mac system
Once converted, the image can then be added to a HFS disk image using hfsutils:
hmount disk.img # mount the HFS disk hcopy ./image.pict :image.pic # copy the PICT image to the disk hattrib -t PICT -c 8BIM :image.pic # set the type and creator codes to ensure that the image is recognised by Mac OS humount # unmount the disk
Sample files
- http://www.fileformat.info/format/macpict/sample/index.htm
- http://cd.textfiles.com/cdreview/cdreview66/PCT01_01/PC0101P/
- http://cd.textfiles.com/fantaziasampler/CLIPART/PCT/ - Version 1
- http://www.ngdc.noaa.gov/mgg/geology/lazarus/ch7/pict_plots/ - Vector-only PICTs
- dexvert samples — image/pict
- Photo Pics PICT format for Macintosh