SFImage
Pole lub zdarzenie o typie SFImage
definiuje pojedynczy, nieskompresowany dwuwymiarowy obraz. Pola i zdarzenia
typu SFImage
zawierają trzy liczby całkowite odpowiadające kolejno szerokości, wysokości
i składowym (liczba bajtów przypadających na jeden piksel) obrazu. Następnie
występuje wysokość*szerokość liczb szesnastkowych reprezentujące poszczególne
piksele. Wszystkie wymienione elementy definicji obrazu przedzielone są
spacjami, np.:
przykładImage <szerokość>
<wysokość> <składowa> <wartości pikseli>
Każdy piksel jest czytany jako pojedyncza z niczym
nie powiązana liczba. Na przykład piksel składający się z trzech składowych
mający wartość 0x0000FF może być zapisany również jako 255 (liczba dziesiętna).
Piksele opisywane są ze strony lewej na prawą i z dołu do góry. Pierwsza
wartość szesnastkowa przedstawia dolny, lewy piksel, natomiast ostatnia
wartość szesnastkowa odnosi się do górnego, prawego piksela.
przykładImage 1
2 1 0xFF 0x00
Powyższy przykład definiuje obraz o szerokości jednego
piksela, wysokości dwóch pikseli oraz składowej o wartości 1 (1 bajt na
piksel; co oznacza, że jest to obraz monochromatyczny), gdzie dolny piksel
jest biały, a górny jest czarny. Następny przykład:
przykładImage 2
4 3 0xFF0000 0xFF00 0 0 0 0 0xFFFFFF 0xFFFF00
definiuje obraz o dwóch pikselach szerokości, czterech
pikselach wysokości oraz składowej o wartości 3 (3 bajty na piksel; co
oznacza obraz kolorowy zapisany w standardzie kolorów RGB), gdzie lewy
dolny piksel jest czerwony, prawy dolny piksel jest zielony, środkowe piksele
są czarne, natomiast lewy górny jest biały, a prawy górny jest żółty.