ZSoft PCX (.pcx)

Tehnički Standard

ZSoft PC Paintbrush Bitmap (PCX) je legendarni rani grafički format za PC računare koji je postao prvi široko prihvaćen standard rasterskih slika za MS-DOS, IBM PC kompatibilne računare i klasične PC igre.

Konvertujte PCX u PNG

Besplatan konvertor PCX u PNG u pregledaču. Konvertujte datoteke odmah na svom uređaju.

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju PCX datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju PCX datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

0A 05 01

ASCII REPREZENTACIJA: ...

Standardizacija: Tehnički referentni priručnik za ZSoft PC Paintbrush

Tehničke specifikacije

Arhitektura kontejneraFiksno zaglavlje od 128 bajtova, zatim RLE-kompresovani redovi piksela i opciona završna paleta od 256 boja
KompresijaBajtno kodiranje nizova dužine (RLE) s bitovima 0xC0 za indikator broja ponavljanja
Bajtni redosled (Endianness)Malo-endijanski redosled bajtova (Intel x86)
Prostori bojaRGB s paletom od 4 boje za CGA, 16 boja za EGA ili 256 boja za VGA
Kanali i strukturaPaletni prikaz od 1, 2, 4 ili 8 bita ili planarno 24-bitno RGB (3 ravni s podacima od po 8 bita)
Maksimalne dimenzije65,535 x 65,535 piksela (koordinate od 16 bita)
TransparentnostNema (neprozirni stari rasterski format)
Strimovanje i progresivno učitavanjeSekvencijalni prikaz redova piksela, jedan po jedan

Tehnička matrica poređenja: PCX u odnosu na konkurente

Tehnički atributPCX (Trenutno)BMPGIFPNG
Aktivna era1985 - 1995 (zlatno doba MS-DOS-a)1990 - danas (Windows standard)1987 - danas (veb standard)1996 - danas (moderni veb standard)
Algoritam kompresijeRLE kompresija nizova bajtovaNekomprimovano / RLELZW kompresija bez patentaDeflate LZ77 kompresija
Arhitektura bojaEGA/VGA bitne ravni i paletaDIB linije skeniranjaIndeksiranih 256 bojaPrave boje 24/48-bit + alfa
Lokacija paleteDodato na kraju datoteke, EOF (768 bajtova)Blizu zaglavlja datotekeBlizu zaglavlja datotekeUgrađeni PLTE blok

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Boje slike se prikazuju potpuno izvrnuto ili iskrivljeno poput psihodeličnog negativa.

Osnovni uzrok: Nedostajući ili skraćeni blok VGA palete od 256 boja na kraju datoteke.

Oporavak: Ponovo primenite podrazumevanu VGA paletu ili transkodirajte datoteku u PNG pomoću PCX konvertera File2File.app.

Bezbednosna analiza i vektori napada parsera

PCX dekoderi raspakuju bajtove kodirane dužinom niza u redove piksela; neispravan broj ponavljanja može da izazove prelivanje bafera u heap memoriji.

Poznati vektori napada

  • RLE niz bajtova koji premašuje širinu linije skeniranja, što uzrokuje upisivanje u memoriju izvan granica bafera.
  • Prekoračenje bafera pri čitanju ravni izvan broja ravni deklarisanog u zaglavlju.
  • Uskraćivanje usluge (DoS) usled oštećenih izračunavanja pomeraja palete.

Najbolje prakse za zaštitu: Postavite stroga ograničenja broja bajtova piksela po liniji skeniranja tokom petlji RLE dekompresije.

Istorijat i prekretnice

1993Kompanija id Software izdaje igru DOOM, koristeći PCX format za uvodne ekrane, menije i teksture.
1988PCX revizija 5 uvodi podršku za VGA palete od 256 boja smeštene na kraju datoteke.
1985ZSoft predstavlja PCX zajedno sa programom PC Paintbrush, koji se isporučivao uz hardver Microsoft miša.

Ključne prednosti

  • Ima veliki istorijski značaj kao jedan od ključnih formata u ranoj eri IBM PC igara i revoluciji shareware softvera.
  • Memorijski raspored usklađen sa hardverom omogućava direktno kopiranje u memoriju EGA/VGA video kartice.
  • Lagana RLE kompresija smanjuje veličinu datoteka ilustracija i dijagrama sa malo boja.

Tehnička ograničenja i nedostaci

  • PCX se danas retko koristi u mnogim tokovima rada, u kojima se često daje prednost PNG-u i drugim novijim rasterskim formatima.
  • VGA paleta od 256 boja je dodata na sam kraj datoteke, što zahteva čitanje cele datoteke da bi se dekodirale boje.
  • Neefikasna kompresija na složenim fotografskim prikazima.

Zanimljivosti

  • Prvi bajt svake PCX datoteke je uvek 0x0A (decimalno 10), što predstavlja interni ID proizvođača ZSoft.
  • Da biste proverili da li 8-bitna PCX datoteka ima paletu od 256 boja, pozicionirate se na 769 bajtova od kraja datoteke i proveravate bajt 0x0C (decimalno 12).
  • Klasične PC igre, uključujući Wolfenstein 3D, DOOM i Duke Nukem 3D, čuvale su svoje promotivne snimke ekrana i grafiku menija u PCX formatu.

Često postavljana tehnička pitanja

Koji program je kreirao .PCX datoteke?

ZSoft PC Paintbrush, prvi popularni grafički program za IBM PC računare 1980-ih, koji se često isporučivao u paketu sa Microsoft miševima.

Mogu li da konvertujem stariju PCX datoteku u PNG ili JPG?

Da. File2File.app može direktno u pretraživaču da konvertuje istorijske PCX teksture igara i umetnička dela u oštre moderne PNG ili JPG slike.

Zašto se paleta boja nalazi na kraju PCX datoteke?

Kada je 256-bojna VGA uvedena 1988. godine, ZSoft je dodao RGB paletu od 768 bajtova na kraj datoteke, kojoj je prethodio marker 0x0C, radi održavanja kompatibilnosti unazad sa starijim 16-bojnim dekoderima.