Podstawowym obiektem służacym do operowania na obrazach jest sImg
. Obiekt tej klasy składa się z tablicy komponentów typu sCmp
które z kolei przechowują bezpośrednio tablicę próbek obrazu. Każdy komponent przechowuje jedną składową obrazu. Dla standardowych obrazków RGB obiekt sImg przechowuje 3 komponenty po jednym dla składowej R, G i B. Aby wczytać obrazu z z pliku BMP najpier należy stworzyć instancje obiektu klasy sImg
, służy do tego funkcja x_img_create_rgb
tworzące odrazu obraz w formacie RGB.
sImg* x_img_create_rgb(
int32 dx, //Szerokość obrazu w punktach
int32 dy, //Wysokość obrazu w punktach
int32 n, //Ilość dodatkowych komponentów
);
Jako ostatni parametr podajemy ilość dodatkowych komponentów, najczęściej parametr ten ustawiamy na 0. Aby odczytać wczytać obrazek z pliku BMP wykorzystujemy funkcję x_img_get_bmp_from_file
. Przyjmuje ona jako parametry wskaźnik na obiekt obrazu (typu sImg
) i ciąg znaków określający ścieżkę i nazwę pliku do wczytania.
int32 x_img_get_bmp_from_file(
sImg* img, //Wskażnik na obiekt obrazu
char* name //Nazwa pliku do wczytania
);
Na przykład aby wczytać obrazek w formacie bmp o nazwie Poznan_Street.bmp należy napisać poniższy kod.
sImg* img = x_img_create_rgb(1920,1088,0); //Utworzenie obiektu obrazu
x_img_get_bmp_from_file(img,"Poznan_Street.bmp"); //Wczytanie obrazka z pliku
//Przetwarzenie
for(int32 y=0;ycmp[0]->dy;y++)
for(int32 x=0;xcmp[0]->dx;x++)
printf("%d",img->cmp[0]->pel[y][x]);
x_img_delete(img); //Usuniecie z pamieci obiektu obrazu