PCX

Képfájl formátum
Ez a közzétett változat, ellenőrizve: 2023. június 12.

A PCX az egyik legrégibb, grafikus képek tárolására szolgáló számítógépes fájlformátum.

PCX
Fájlkiterjesztés.pcx
FejlesztőZSoft Corporation
Kiadás dátuma1985
Formátum típusagrafikus fájlformátum
Uniformimage/x-pcx

Több verziója is létezik fekete-fehér, illetve 16 bites színfelbontású képek tárolására. 2.5-ös verziójától már képpontonként 8 bites, 3.0 verziójától már képpontonként 24 bites színmélységű képek tárolására is képes. A PCX fájlok verzióját a fájl fejlécének a második byte-ja határozza meg.

Tulajdonságai

szerkesztés

RLE képtömörítést alkalmaz, de lehetővé tesz tömörítetlen tárolást is.

A Windows operációs rendszerek az integrált Paintbrush program miatt támogatják ezt a formátumot, míg a többi operációs rendszer inkább a fejlettebb, nyílt formátumok (PNG, JPEG) használatát támogatja.

A PCX fájl felépítése

szerkesztés

Általános felépítés

szerkesztés
  • Fejléc (128 byte)
  • Képadatok
  • Színpaletta (opcionális, csak 256 szín esetén)

A PCX fájlok, a verziójuktól függetlenül, egy 128 byte hosszú fejléccel kezdődnek.

offset byte-ok száma jelentés
0 1 Azonosító: 10 (0AH) = PCX-Fájl
1 1 PCX-File Verziója:
0 = Version 2.5
2 = Version 2.8 színpalettával
3 = Version 2.8 színpaletta nélkül
4 = Windows színpaletta nélkül
5 = Version 3.0
2 1 Tömörítés
0 = nincs
1 = RLE-Kódolás
3 1 Pixelenkénti bitek száma
4 8 Az eredeti kép koordinátái
XMIN, YMIN, XMAX, YMAX
12 2 Vízszintes felbontás DPI-ben (dots per inch)
14 2 Függőleges felbontás DPI-ben (dots per inch)
16 48 Színtérkép a színpaletta definíciójával.
16*3 byte-os mezőkként.
64 1 foglalt byte (0-ra kell beállítani)
65 1 A színsíkok száma, maximum 4
66 2 A kép egy sorát megadó byte-ok száma (páros számnak kell lennie)
68 2 Színpaletta-információ
1 = Fekete-fehér
2 = Szürkeárnyalatos
70 2 A kép szélessége pixelben
72 2 A kép magassága pixelben
74 54 Üres (a 0 értéket tartalmazó) byte-ok a fejléc kitöltéséhez

Képadatok

szerkesztés

Ha nem alkalmazunk tömörítést, akkor minden egyes byte egy index (hivatkozás) a színpaletta megfelelő bejegyzésére, ami az adott byte-hoz tartozó szín RGB értékeit megadja. Tömörítés alkalmazása esetén előfordulhatnak olyan byte-ok is, amelyek azt határozzák meg, hogy az őket követő byte által a színpalettából kijelölt színt hányszor kell megismételni. Ez a tömörítési forma különösen akkor hatékony, ha a grafikus képen nagyobb összefüggő egyszínű területek vannak. A hosszúságot megadó byte-okat arról lehet megismerni, hogy a két legmagasabb bitjük be van állítva. A fennmaradó 6 bit határozza meg a hosszúságot, így a megadható maximális hosszúság 63 byte. Ha egy szín nem ismétlődik meg, tehát a hosszúság 1 lenne, akkor nem szükséges a hosszúságot megadó a színt megadó byte előtt, kivéve ha a szín indexének az értéke 192 vagy ennél nagyobb szám lenne, mert ilyenkor elé kell írni a 193-at, hiszen egyébként ezt az indexet hosszúságot megadó byte-ként kellene értelmeznünk.

Színpaletta

szerkesztés

A több mint 16 színt tartalmazó színpalettákat a képadatok után találjuk. Ebben az esetben a képadatokat és a palettát egy, a 12-es értéket tartalmazó byte választja el egymástól. Ezután a byte után következnek egymás után minden egyes színnek megfelelően az adott szín RGB értékei (az színek indexelésének megfelelő sorrendben).

Története

szerkesztés

Keletkezése a ZSoft cég nevéhez fűződik, a legendás Paintbrush programban alkalmazták először 1982-ben. Mivel a Paintbrush program később a Windows részévé vált, ezért ez a fájlformátum igen gyorsan és széles körben elterjedt. Jóllehet szinte minden grafikus támogatja, jelentősége egyre csökken.

E formátum jellemzően a számítógépes technika fejlődésével együtt fejlődött. Fejléce kezdetben csak 16 színű palettát tett lehetővé (a néhai EGA paletta). A járulékos színinformáció a hátrafelé való kompatibilitás miatt a fájl végén tárolódik. A PCX fájlt feldolgozó programok kénytelenek ezt a színinformációt a fájl végén keresni, ráadásul az ott tárolt helye sem egyértelmű, mert többfajta színskála használata engedélyezett (32, 64, 128 és 256 byte-os).

Hivatkozások

szerkesztés

További információk

szerkesztés