PICT
 (added more software)  | 
			|||
| (15 intermediate revisions by 5 users not shown) | |||
| Line 5: | Line 5: | ||
|extensions={{ext|pict}}, {{ext|pct}}, {{ext|pic}}  | |extensions={{ext|pict}}, {{ext|pct}}, {{ext|pic}}  | ||
|pronom={{PRONOM|fmt/341}}, {{PRONOM|x-fmt/80}}  | |pronom={{PRONOM|fmt/341}}, {{PRONOM|x-fmt/80}}  | ||
| + | |wikidata={{wikidata|Q2044200}}  | ||
|released=1984  | |released=1984  | ||
}}  | }}  | ||
| − | '''PICT''', or '''QuickDraw/PICT''', is a   | + | '''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.  | 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 ==  | == Identification ==  | ||
| − | + | A version 1 PICT file has (hex) bytes {{magic|11 01}} at offset 522 (or 10 if there is no header), and should end with {{magic|ff}}.  | |
| − | + | A version 2 PICT file has bytes {{magic|00 11 02 ff 0c 00}} at offset 522 (or 10 if there is no header), and should end with {{magic|00 ff}}.  | |
| − | ==   | + | == Application data ==  | 
| − | Custom 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".  | 
| + | |||
| + | * [http://www.opennt.net/projects/opennt/repository/revisions/26/entry/trunk/com/ole32/olecnv32/qdcoment.i 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 ==  | == 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.  | * PICT is used for graphics stored within [[Keynote]] documents.  | ||
| + | * [[Encapsulated PostScript]]  | ||
== Specifications ==  | == Specifications ==  | ||
* [https://developer.apple.com/legacy/library/documentation/mac/pdf/ImagingWithQuickDraw.pdf Inside Macintosh: Imaging With QuickDraw]  | * [https://developer.apple.com/legacy/library/documentation/mac/pdf/ImagingWithQuickDraw.pdf Inside Macintosh: Imaging With QuickDraw]  | ||
* [http://show.docjava.com/posterous/file/2012/07/9614410-DOC01.PDF PICT File Format Notes]  | * [http://show.docjava.com/posterous/file/2012/07/9614410-DOC01.PDF PICT File Format Notes]  | ||
| + | * [http://web.archive.org/web/20010703041301/http://developer.apple.com/technotes/qd/qd_14.html Macintosh Technical Note QD14 (a.k.a. TN21)]: QuickDraw's Internal Picture Definition - PICT version 1 (from archive.org)  | ||
| + | * [ftp://ftp.oreilly.com/pub/examples/9781565920583/CDROM/GFF/VENDSPEC/MACPIC/PICT.ZIP PICT.ZIP] - Probably a lot of information here, but in inconvenient formats  | ||
| + | * [http://web.archive.org/web/20010422094136/http://developer.apple.com/technotes/qd/qd_06.html Macintosh Technical Note QD06 (a.k.a TN181)]: Every Picture [Comment] Tells Its Story, Don't It? - PICT Application Comments (from archive.org)  | ||
* [http://research.stowers-institute.org/efg/ScientificSoftware/Utility/TiffTags/ICC-tag.pdf HELIOS ICC profile tagging specifications] - Tells how to embed an ICC profile in a PICT file  | * [http://research.stowers-institute.org/efg/ScientificSoftware/Utility/TiffTags/ICC-tag.pdf HELIOS ICC profile tagging specifications] - Tells how to embed an ICC profile in a PICT file  | ||
== Software ==  | == Software ==  | ||
| + | === Vector-based software ===  | ||
| + | (software that can process PICT vectors as vectors)  | ||
| + | * [[Scribus]]  | ||
| + | * [https://www.libreoffice.org/ LibreOffice]  | ||
| + | |||
| + | === Other software ===  | ||
* [[Netpbm]]  | * [[Netpbm]]  | ||
| − | * [[ImageMagick]]  | + | * [[ImageMagick]] (for PICT v2)  | 
| + | * [https://github.com/steventroughtonsmith/image2pict1 image2pict1] (for PICT v1)  | ||
| + | * [http://www.irfanview.com/ 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 [https://linux.die.net/man/1/hfsutils 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 ==  | == Sample files ==  | ||
* http://www.fileformat.info/format/macpict/sample/index.htm  | * http://www.fileformat.info/format/macpict/sample/index.htm  | ||
* http://cd.textfiles.com/cdreview/cdreview66/PCT01_01/PC0101P/  | * http://cd.textfiles.com/cdreview/cdreview66/PCT01_01/PC0101P/  | ||
| − | * http://cd.textfiles.com/fantaziasampler/CLIPART/PCT/  | + | * http://cd.textfiles.com/fantaziasampler/CLIPART/PCT/ - Version 1  | 
| + | * http://www.ngdc.noaa.gov/mgg/geology/lazarus/ch7/pict_plots/ - Vector-only PICTs  | ||
| + | * {{DexvertSamples|image/pict}}  | ||
| + | * [https://archive.org/details/parsons-photo-pics-on-cd-rom-macintosh Photo Pics PICT format for Macintosh]  | ||
== Resources ==  | == Resources ==  | ||
* {{EGFF|macpict|Macintosh PICT File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]]  | * {{EGFF|macpict|Macintosh PICT File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]]  | ||
| − | * [  | + | * [https://exiftool.org/TagNames/PICT.html ExifTool: PICT Tags]  | 
* [[Wikipedia:PICT|Wikipedia article]]  | * [[Wikipedia:PICT|Wikipedia article]]  | ||
[[Category:Macintosh]]  | [[Category:Macintosh]]  | ||
Latest revision as of 12:14, 20 May 2024
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 | 
[edit] 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.
[edit] 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.
[edit] 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.
[edit] 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
 
[edit] 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
 
[edit] Software
[edit] Vector-based software
(software that can process PICT vectors as vectors)
[edit] Other software
- Netpbm
 - ImageMagick (for PICT v2)
 - image2pict1 (for PICT v1)
 - IrfanView
 - Deark (for analysis, resource extraction)
 - XnView
 
[edit] Converting
[edit] 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.
[edit] 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.
[edit] 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
[edit] 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