16 BACHOTfcpC ’98
ją także do zabezpieczenia wyróżnionych obszarów obiektu graficznego przed modyfikacją. Zabieg ten nazywany bywa „maskowaniem”, a owa dodatkowa informacja - „maską” (lub mądrzej „kanałem alfa”).
Niestety, POSTSCRIPT nie czyni z maski użytku, jedyne co potrafi, to ją pominąć. I nie wydaje się, żeby w ciągu najbliższego czasu sytuacja miała ulec zmianie. Jeszcze raz wypada powtórzyć: a szkoda.
W prostszych przypadkach ograniczenie to można obejść uciekając się do grafiki obwiedniowo-dyskrętnej, bowiem POSTSCRIPT-owe obiekty ob-wiedniowe mogą mieć przezroczyste „dziury”. Jednakże jest to rozwiązanie zaledwie częściowe, jako że nie da się w ten sposób osiągnąć półprzezroczy-stości.
Odnotujmy jeszcze, że niektóre dyskretne formaty graficzne zamiast maski specyfikują jeden z kolorów jako przezroczysty - tak reprezentowana jest na przykład przezroczystość w formacie GIF. Należy jednak pamiętać, że nie istnieje powszechnie akceptowany standard definiowania przezroczystości (w odróżnieniu od modeli przestrzeni barwnych, takich jak RGB czy CMYK), w związku z czym może się okazać, że dany program interpretuje grafikę niezgodnie z intencją twórcy.
Jeżeli skorzystanie z dobrodziejstw palety nie wchodzi w rachubę, rozmiary plików graficznych zaczynają niepokojąco rosnąć. Przypuśćmy, że potrzebujemy wydrukować kolorowe zdjęcie formatu A4. Do uzyskania dobrej jakości potrzebna jest liniatura 150 lpi, co implikuje rozdzielczość zdjęcia 300 dpi (p. s. 9). Format A4 zajmuje powierzchnię około 100 cali kwadratowych, czyli zdjęcie będzie zawierać około 100 x 300 x 300 = 9 x 106 pikseli. Licząc na każdy piksel po cztery bajty (model CMYK, bez maski), otrzymujemy ostatecznie objętość około 35 megabajtów.
Sporo. Bez kompresji ani rusz.
W dalszych rozważaniach dla ustalenia uwagi będziemy zakładać, że mapa bitowa, czyli macierz Vij, jest pamiętana jako ciąg pikseli, qi, q-2,... qmxm na przykład w kolejności leksykograficznej: q\ = Vl,i, qi = Vi,2, • • • Qn = Ki,n, qn+1 = V2,1, qn+2 = F-2,2, • • • <?2n = Vl,n, • • • ?mx(n-l)+l = Vm,l, ?mx(n-l)+2 = Vm,2i • ■ • qmxn = Vm,n-