PCPaint PIC, also known as Pictor format, is an image format created by John Bridges for his PCPaint graphics program. It was also used by PCPaint's successor, Pictor Paint.
A PIC file usually contains a raster image, but text modes (character graphics) are also possible.
The most significant versions of the PIC format are the ones written by PCPaint 2.0 and higher. They are identified by the byte at offset 11 having the value
0xff. They have a header of 19 or more bytes, of which the first 17 have a fixed layout. At offset 17 is a variable-length "extra data" field, which if present usually contains the palette, or information about the palette. If the last two bytes of the header (after the "extra data") are 0, the image is uncompressed; otherwise it is compressed with run-length encoding.
Versions of PCPaint prior to 2.0 do not use this format, and instead use extensions of BSAVE format.
If the byte at offset 11 is not
0xff (and the first two bytes are
0x34 0x12), the file uses a different version of the format. It's unclear where such files would have come from, since all PCPaint versions seem to be accounted for, and none of them are reported to use such a format.
Some files with an extension of .clp use the PIC format described in this article, and some use a different "clipping" format.
Images in PIC files can be stored in a variety of ways, and it is somewhat challenging to decode all of them.
Files begin with signature bytes
- PCPaint31-Installed.zip → *.PIC
- http://cd.textfiles.com/carousel344/003/ ...: See the index for "GRASP PICTURE" files.
- One place to find PIC files is inside of GRASP GL container files. (But be warned that such PIC files cannot always stand alone, as they may be scripted to use a palette not contained in that PIC file.)
- v7vga.gl → wsscreen.pic - Example of a text mode PIC