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.

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 at offset 522 (or 10 if there is no header), and should end with.

A version 2 PICT file has bytes at offset 522 (or 10 if there is no header), and should end with.

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".


 * A file with a list of comment kinds

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

Vector-based software
(software that can process PICT vectors as vectors)
 * Scribus
 * LibreOffice

Other software

 * Netpbm
 * ImageMagick (for PICT v2)
 * image2pict1 (for PICT v1)
 * IrfanView
 * (for analysis, resource extraction)

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
 * https://telparia.com/fileFormatSamples/image/pict/
 * Photo Pics PICT format for Macintosh

Resources

 * , from the Encyclopedia of Graphics File Formats
 * ExifTool: PICT Tags
 * Wikipedia article