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;

如何旋转图片框?我想将图片框与位图一起旋转。

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 回答