0

私の目標は、PGM 画像を読み込み、色の値が反転した画像を生成することです。しかし、この画像を入れると、この画像が返ってきます。Windows 7 (64 ビット) で Eclipse と MinGW GCC を使用して、C でプログラミングしています。画像が急激に歪むのはなぜですか?

int complement(PGMImage *img) {
int i, j;

// set up new PGM to copy onto
PGMImage* comImg = (PGMImage*)malloc(sizeof(PGMImage));
(*comImg).width = (*img).width;
(*comImg).height = (*img).height;

// invert each pixel
for(i = 0; i <= (*img).width; i++) {
    for(j = 0; j <= (*img).height; j++) {

        // set inverted value for each new pixel
        (*comImg).data[i][j].red = abs((*img).maxVal - (*img).data[i][j].red);
        (*comImg).data[i][j].green = abs((*img).maxVal - (*img).data[i][j].green);
        (*comImg).data[i][j].blue = abs((*img).maxVal - (*img).data[i][j].blue);
    }
}

// save a copy of the complement image
save("C:\\image_complement.pgm", comImg);
printf("A copy of your image has been saved as \"C:\\image_complement.pgm\"\n\n");
void free(comImg);
return 0;
}
4

2 に答える 2