ZSoft PCX (.pcx)
Podręcznik StandardowyZSoft PC Paintbrush Bitmap (PCX) to legendarny, wczesny format graficzny dla komputerów PC, który stał się pierwszym powszechnie przyjętym standardem obrazu rastrowego dla MS-DOS, komputerów kompatybilnych z IBM PC oraz klasycznych gier komputerowych.
Konwertuj PCX na PNG
Darmowy konwerter z PCX na PNG w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki PCX, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki PCX, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
0A 05 01REPREZENTACJA ASCII: ...
Normalizacja: Podręcznik techniczny ZSoft PC Paintbrush
Specyfikacja techniczna
| Architektura kontenera | 128-bajtowy stały nagłówek, po którym następuje skompresowane RLE linie skanowania i opcjonalna końcowa paleta 256 kolorów |
| Kompresja | Zorientowane bajtowo kodowanie długości serii (RLE) z bitami wskaźnika liczności 0xC0 |
| Kolejność bajtów (Endianness) | Little-Endian (Intel x86) |
| Przestrzenie kolorów | Paleta RGB: CGA 4-kolorowa, EGA 16-kolorowa lub VGA 256-kolorowa |
| Kanały i struktura | 1, 2, 4 lub 8-bitowe paletowe lub 24-bitowe RGB planarne (3 płaszczyzny 8-bitowych danych) |
| Maks. wymiary | 65 535 x 65 535 pikseli (współrzędne 16-bitowe) |
| Przezroczystość | Brak (nieprzezroczysty starszy rastrowy) |
| Streaming i progresywne ładowanie | Sekwencyjne odtwarzanie linia po linii skanowania |
Techniczna macierz porównawcza: PCX a konkurencja
| Atrybut techniczny | PCX (Bieżący) | BMP | GIF | PNG |
|---|---|---|---|---|
| Aktywna era | 1985 - 1995 (złoty wiek MS-DOS) | 1990 - obecnie (standard systemu Windows) | 1987 - obecnie (standard internetowy) | 1996 - obecnie (nowoczesny standard internetowy) |
| Algorytm kompresji | Kompresja RLE z przebiegiem bajtów | Neskondensowany / RLE | Wolna od patentów kompresja LZW | Kompresja Deflate LZ77 |
| Architektura kolorów | Płaszczyzny bitowe EGA/VGA i paletowe | Linie skanowania DIB | Indeksowane 256 kolorów | Truecolor 24/48-bitowy + alfa |
| Lokalizacja palety | Dołączona na końcu pliku EOF (768 bajtów) | W pobliżu nagłówka pliku | W pobliżu nagłówka pliku | Osadzony chunk PLTE |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Kolory obrazu renderują się jako całkowicie odwrócone lub zniekształcone nic psychodeliczny negatyw.
Główna przyczyna: Brakujący lub obcięty 256-kolorowy blok palety VGA na końcu pliku.
Odzyskiwanie: Ponownie zastosuj domyślną paletę VGA lub przekoduj do formatu PNG za pomocą konwertera PCX File2File.
Analiza bezpieczeństwa i wektory ataku na parser
Dekodery PCX przetwarzają zakodowane długościami serii bajty na linie skanowania, gdzie wadliwe liczniki serii mogą powodować przepełnienia bufora sterty.
Znane wektory ataku
- Przebieg serii bajtów RLE przekraczający szerokość linii skanowania, powodujący zapis pamięci poza granicami bufora.
- Przepełnienie bufora podczas odczytu płaszczyzn przekraczających zadeklarowaną w nagłówku liczbę płaszczyzn.
- Odmowa usługi (DoS) poprzez uszkodzone obliczenia przesunięcia palety.
Najlepsze praktyki obronne: Wymuszaj ścisłe limity bajtów pikseli na linię skanowania podczas pętli dekompresji RLE.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Bogate znaczenie historyczne: fundamentalny format wczesnej rewolucji gier i shareware na IBM PC.
- Zorientowany sprzętowo planarny układ pamięci pozwala na bezpośrednie kopiowanie do pamięci karty wideo EGA/VGA.
- Lekka kompresja RLE zmniejsza rozmiary plików ilustracji o małej liczbie kolorów i diagramów.
Ograniczenia techniczne i wady
- Przestarzałość: praktycznie wszystkie nowoczesne przepływy pracy przeszły na format PNG i nowoczesne formaty rastrowe.
- 256-kolorowa paleta VGA jest dołączona na samym końcu pliku, co wymaga odczytu całego pliku w celu zdekodowania kolorów.
- Nieefektywna kompresja złożonych obrazów fotograficznych.
Ciekawe informacje techniczne
- Pierwszy bajt każdego pliku PCX to zawsze 0x0A (dziesiętnie 10), reprezentujący wewnętrzny identyfikator producenta ZSoft.
- Aby sprawdzić, czy 8-bitowy plik PCX ma 256-kolorową paletę, przesuniesz się o 769 bajtów od końca pliku i wyszukasz bajt 0x0C (dziesiętnie 12).
- Klasyczne gry na komputery PC, w tym Wolfenstein 3D, DOOM i Duke Nukem 3D, przechowywały promocyjne zrzuty ekranu i grafikę menu w formacie PCX.
Często zadawane pytania techniczne
Jaki program tworzył pliki .PCX?
ZSoft PC Paintbrush, pierwszy popularny program graficzny dla komputerów IBM PC w latach 80., który był często dołączany do myszy Microsoft.
Czy mogę przekonwertować stary plik PCX na PNG lub JPG?
Tak. File2File.app może konwertować historyczne tekstury i grafikę z gier PCX na wyraźne, nowoczesne obrazy PNG lub JPG bezpośrednio w przeglądarce.
Dlaczego paleta kolorów znajduje się na końcu pliku PCX?
Kiedy w 1988 roku wprowadzono 256-kolorowy tryb VGA, firma ZSoft dołączyła 768-bajtową paletę RGB na końcu pliku, poprzedzoną znacznikiem 0x0C, aby zachować wsteczną kompatybilność ze starszymi 16-kolorowymi dekoderami.