Wczytanie pliku BMP

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