// 画像処理8:画像の左右反転 void hreversing( Image image) { int x, y, k; Image bufimage; //重複して処理しないようオリジナル画像のコピーを用意する bufimage = createImage(image->height, image->width); //画像のメモリ確保・初期化 for(y = 0; y < image->height; y++){ for(x = 0; x < image->width; x++){ for(k = 0; k < 3; k++) { bufimage->pdata[y][x][k] = image->pdata[y][x][k]; //入力画像をコピーする } } } //左右反転処理:X座標を反対からコピーすることで反転する for(y = 0; y < image->height; y++){ for(x = 0; x < image->width; x++){ for(k = 0; k < 3; k++) { image->pdata[y][x][k] = bufimage->pdata[y][image->width - x - 1][k]; } } } deleteImage(bufimage); //処理用画像のメモリを解放 }