PCPaint PIC

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Rearranging, etc.)
Line 26: Line 26:
  
 
== Format details ==
 
== Format details ==
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 <code>0xff</code>. 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]].
+
For most PIC files, the byte at offset 11 (named "emark" or "PaletteFlag") has value <code>0xff</code>. The header consists 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]].
 
+
If the byte at offset 11 is not <code>0xff</code> (and the first two bytes are <code>0x34 0x12</code>), 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 [[PCPaint CLP|"clipping" format]].
 
Some files with an extension of '''.clp''' use the PIC format described in this article, and some use a different [[PCPaint CLP|"clipping" format]].
  
 
Images in PIC files can be stored in a variety of ways, and it is somewhat challenging to decode all of them.
 
Images in PIC files can be stored in a variety of ways, and it is somewhat challenging to decode all of them.
 +
 +
=== Old format ===
 +
There might be an "old" PIC format, which starts with <code>0x34 0x12</code> but does ''not'' have <code>0xff</code> at offset 11. It is mentioned in the [[Encyclopedia of Graphics File Formats]] ("If the Marker field value is not FFh..."), and is possibly written by [[Iconvert]]. But it's vanishingly rare at best, and it's not clear what version of PC Paint it would be associated with.
  
 
== Identification ==
 
== Identification ==
 
Files begin with signature bytes {{magic|0x34 0x12}}.
 
Files begin with signature bytes {{magic|0x34 0x12}}.
 +
 +
Except possibly for the obscure "old format", the byte at offset 11 is <code>0xff</code>.
  
 
== See also ==
 
== See also ==
* [[GRASP GL]] files often contain embedded PCPaint files.
+
* [[GRASP GL]]
 
* [[PCPaint BSAVE]]
 
* [[PCPaint BSAVE]]
 
* [[PCPaint CLP]]
 
* [[PCPaint CLP]]

Revision as of 16:15, 17 December 2022

File Format
Name PCPaint PIC
Ontology
Extension(s) .pic, .clp
PRONOM x-fmt/170
Wikidata ID Q105858850
Released 1984 (software), 1985 (PIC format)

PCPaint PIC, also known as Pictor format, is an image format associated with the PCPaint family of raster image editing software for DOS. The software was originally developed by John Bridges and Douglas Wolfgram, and published by Mouse Systems and Microtex. The PCPaint family also includes PC Paint Plus and Pictor.

"PC Paint" (with a space) seems to be the most authoritative spelling, though "PCPaint" is perhaps more common.

The software has several native graphics formats. This article is focused on the format with the 0x34 0x12 signature, which we'll call "PIC", though other formats also use the .pic filename extension. This article also covers the software in general.

A PIC file usually contains a raster image, but text modes (character graphics) are also possible.

There are separate articles for some formats:

Contents

Disambiguation

Be aware that there are about four different formats that could be known as "PCPaint PIC". This article and related articles attempt to explain the situation.

Not to be confused with the PC Paintbrush family of software, and the associated PCX format.

Format details

For most PIC files, the byte at offset 11 (named "emark" or "PaletteFlag") has value 0xff. The header consists 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.

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.

Old format

There might be an "old" PIC format, which starts with 0x34 0x12 but does not have 0xff at offset 11. It is mentioned in the Encyclopedia of Graphics File Formats ("If the Marker field value is not FFh..."), and is possibly written by Iconvert. But it's vanishingly rare at best, and it's not clear what version of PC Paint it would be associated with.

Identification

Files begin with signature bytes 0x34 0x12.

Except possibly for the obscure "old format", the byte at offset 11 is 0xff.

See also

Specifications

Software

Sample files

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox