投稿者 つみき  (学生) 投稿日時 2009/10/30 23:20:12
お世話になっています。ちょっと気になったことがありまして、投稿いたします。ただ表現が難しいので、分かりにくいかもしれません。私もどう書けば伝わるのか、よく分からないのです。

http://homepage1.nifty.com/rucio/main/dotnet/Samples/Sample144ImageRotate.htm
のサンプルを使って、携帯電話やデジカメから撮ったイメージをpicturebox1に表示して、button1をクリックすることでこれを回転させました。するとなぜか、大体120%くらいでしょうか、少しだけ拡大されような状態になって回転され表示していました。さらに拡大された(ように見える)のに回転した画像のサイズはそのままなので、そのはみ出た部分が切り捨てられて表示されてしまいます。
つまり、240×320のサイズの画像を90度回転させたとすると、回転後のサイズは320×240になりますよね。でも120%に拡大されている(ような)ので384×288の画像なのだから、320×240からはみ出た部分が切り取られて320×240の画像として表示されていました。
今度は240×320(もと画像)から30度回転させたとすると、本来ならば切り取らないように368×397のサイズの白い背景を作り、その上に30度傾いた画像が表示されますが、こちらでは120%に拡大された(ような)画像がそのまま30度傾いて、右上の角と右下の辺りが368×397の白い背景からはみだして切り取られて表示されていました。
なぜこうなってしまうのでしょうか。それ以外の普通の画像ではそうはならず、ちゃんと拡大されず切り取られもせず回転するのですが。

分かりにくい文章ですみません。