10/01/31 14:17:26 2nPDqDQd0
>>613
回転操作は、sin・cosの浮動小数点型の演算結果を整数型にキャストするため、不可逆操作。
回転して元に戻すと違う値になる。
線みたいになってる部分がキャストされて隣のピクセル値やブランクが入ってたりする部分。
例外として、90度の倍数で回転するときには、sin・cosの演算結果の小数部分がゼロになるため、可逆操作になって元に戻る。
(内部的には縦横のピクセルを入れ替えているだけ)
厳密に計算すると、どのピクセルが線の上になるかがわかるので、元に戻すときにそのピクセルだけマスクして、元の画像のピクセルと置き換えるという裏技もある。