2011-01-23 8 views
0

私は与えられたBMPファイルを180度回転させ、回転したイメージで新しいBMPファイルを作成できるプログラムを作成しようとしています。私はEasyBMPライブラリを使用しています。しかし、私がコンパイルしようとするたびに、私はこれらの警告を得ます:EasyBMPライブラリでコンパイルエラー

EasyBMP Warning: Attempted to access non-existent pixel (359, 236); 
       Truncating request to fit in the range [0,358] x [0,269]. 

そして、私はこれらの何百ものものを手に入れます! (問題の画像は359x270です)奇妙なことは、私のコードが実際に100%動作することです。プログラムを実行すると、回転イメージが作成され、完璧に見えます。

答えて

1

for (int x = 0; x < width; x++) { 
    for (int y = 0; y < height; y++) { 
     color = in(x, y); 
     *(out(width - x - 1, height - y - 1)) = *color; 
    } 
} 

(代わり<=と添加- 1<注)されるべきか。

+0

ああ、それはやったよ。ありがとう! – iRobot

+0

なぜ-1がそこにあるべきですか? – iRobot

+0

'<='の代わりに '<'と同じ理由があります。正しい値は '0 'から' width - 1'までであるが、 'width - 0'(この繰り返しではx == 0で与えられる)は範囲外の' width'を与える。 –

関連する問題