/* includes */ #include #include #include #include #include #include "image.h" /* defines */ #define WIDTH (243) #define HEIGHT (243) #define RED (86) #define GREEN (44) #define BLUE (224) /****************************************/ /* main() */ /****************************************/ int main(void) { int row, col; it_rgb r, g, b; it_image *squaresImage = i_create_image(WIDTH, HEIGHT, IT_RGB, IM_CONTIG); it_image *squaresGreyImage = i_create_image(WIDTH, HEIGHT, IT_BYTE, IM_CONTIG); im_set_rgb(&r, RED, 0, 0); im_set_rgb(&g, 0, GREEN, 0); im_set_rgb(&b, 0, 0, BLUE); for (row = 0 ; row < HEIGHT ; row++) { for (col = 0 ; col < WIDTH ; col++) { switch(3 * ((row/9) % 3) + ((col/9) % 3)) { case 0: case 4: case 8: im_rgb_value(squaresImage, col, row) = r; break; case 1: case 5: case 6: im_rgb_value(squaresImage, col, row) = g; break; case 2: case 3: case 7: im_rgb_value(squaresImage, col, row) = b; break; } } } for (row = 0 ; row < HEIGHT ; row++) { for (col = 0 ; col < WIDTH ; col++) { im_byte_value(squaresGreyImage, col, row) = ((it_byte) im_luminance(&(im_rgb_value(squaresImage, col, row)))); } } i_save_image("squares.ppm", -1, squaresImage, IF_BINARY); i_destroy_image(squaresImage); i_save_image("squares.pgm", -1, squaresGreyImage, IF_BINARY); i_destroy_image(squaresGreyImage); return(0); } /* main() */