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.