PCPaint PIC
(Rearranging, etc.) |
|||
Line 26: | Line 26: | ||
== Format details == | == Format details == | ||
− | + | 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]]. | |
− | + | ||
− | + | ||
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]] | + | * [[GRASP GL]] |
* [[PCPaint BSAVE]] | * [[PCPaint BSAVE]] | ||
* [[PCPaint CLP]] | * [[PCPaint CLP]] |
Revision as of 16:15, 17 December 2022
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:
- PCPaint CLP
- BSAVE (uncompressed): Refer to PCPaint BSAVE.
- Compressed BSAVE: Refer to PCPaint BSAVE.
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
- Pictor PC Paint File Format Summary from the Encyclopedia of Graphics File Formats
- PCPAINT/Pictor description by John Bridges himself
- Picture format docs (of a number of formats including this one)
Software
- PCPaint family
- PCPaint 3.1
- PC Paint 1.00A, at WinWorld
- PC Paint 2.x, at WinWorld
- PC Paint 3.x, at WinWorld
- Varous versions at old-dos.ru - Has 1.00A & 2.01
- Pictor (v3.1b?)
- GRASP-four v0.10β - Includes Pictor (no clear version number)
- Konvertor
- XnView
- Deark
- FFmpeg
Sample files
- http://samples.libav.org/image-samples/pictor/
- https://telparia.com/fileFormatSamples/image/pcPaint/
- 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