PCX – Wikipedia, wolna encyklopedia
Rozszerzenia pliku | .pcx |
---|---|
Typ MIME | image/x-pcx |
Typ |
PCX – format przechowywania i kompresji grafik, używający algorytmu kompresji bezstratnej RLE.
PCX był oryginalnie formatem przeznaczonym do indeksowanych palet kolorów, choć został też przystosowany do koloru 24-bitowego. Był dość popularny we wczesnych latach DOS i Windows, lecz współcześnie jest już rzadki, zastąpiony przez formaty oferujące lepszą kompresję i dodatkowe możliwości – GIF i PNG.
Algorytm kompresji obrazków z 8-bitowym kolorem
[edytuj | edytuj kod]Dekompresja jest prosta – każdy bajt z przedziału 0x00 do 0xc0 koduje pojedynczy piksel o danej wartości. Bajty z przedziału 0xc1 do 0xff oznaczają, że kolejne odpowiednio 1 do 63 pikseli ma ten sam kolor, którego wartość jest zawarta w następnym bajcie. Kolory 0xc1 do 0xff są kodowane jako 0xc1 KOLOR.
Ponieważ kolory 0x00 do 0xc0 kompresują się lepiej niż 0xc1 do 0xff, dobra kolejność kolorów w palecie jest ważna. Zazwyczaj, choć nie zawsze, wystarczy umieścić częściej używane kolory w pozycjach 0x00 do 0xc0, a rzadziej używane w pozycjach 0xc1 do 0xff. W pełni optymalny algorytm sortuje kolory na podstawie ilości wystąpień ich ciągów o długości 1+63 ⋅ N dla N całkowitych nieujemnych, bowiem tylko takie ciągi można zapisać bez używania prefiksów.
Algorytm kompresji jest bardzo szybki i zabiera bardzo mało pamięci, jednak jest mało wydajny, w szczególności na obrazkach innych niż wygenerowane komputerowo.
Obrazki 24-bitowe kompresuje się, stosując podany algorytm do każdego kanału osobno.