1

サイズが 710x238 の画像ボックスを使用して、はるかに大きな画像を表示しています。画像を読み込むと、画像を歪ませずに読み込みます。それはうまくいきます。しかし、画像を回転させてPictureBoxに表示しようとすると、画像のサイズが正方形に変わります...

回転した画像が歪まないように、PictureBox を画像と共に回転させるにはどうすればよいですか?

これが私のコードです

pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; //property for load without distorting

および回転のコード(このコードは画像を回転させます...画像ボックスを回転させたいです)

Bitmap oldBitmap = (Bitmap)pictureBox1.Image;
float angle = 90;
var newBitmap = new Bitmap(oldBitmap.Width, oldBitmap.Height);

var graphics = Graphics.FromImage(newBitmap);
graphics.TranslateTransform((float)oldBitmap.Width / 2, (float)oldBitmap.Height / 2);
graphics.RotateTransform(angle);
graphics.TranslateTransform(-(float)oldBitmap.Width / 2, -(float)oldBitmap.Height / 2);
graphics.DrawImage(oldBitmap, new Point(0, 0));
pictureBox1.Image = newBitmap;

PictureBox を回転するにはどうすればよいですか? ビットマップと一緒に PictureBox を回転させたい。

4

2 に答える 2

1

よし、ようやく何が必要か理解できた。SizeMode を Zoom のままにして、これを試してください。

pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; // or PictureBoxSizeMode.StretchImage

...

int height = pictureBox1.Height;
int width = pictureBox1.Width;
pictureBox1.Width = height;
pictureBox1.Height= width;
pictureBox1.Image = newBitmap;
于 2013-03-14T13:31:18.450 に答える
0

あなたが試すことができます :

pictureBox1.SizeMode =PictureBoxSizeMode.StretchImage;

回転させたい場合は、これとこれPictureBoxを試すことができます

于 2013-03-14T13:34:26.383 に答える