2013-03-14 3 views
1

У меня есть окно с картинкой размером 710x238, которое я использую для отображения изображения, которое намного больше. Когда я загружаю изображение, он загружает изображение, не искажая его. Он отлично работает. Но когда я поворачиваю изображение и пытаюсь показать, что в PictureBox размер изображения изменяется на квадрат ...Поворот PictureBox размер изменения

Как повернуть PictureBox вместе с изображением так, чтобы повернутое изображение не искажалось?

Вот мой код

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

и код для поворота (этот код повернуть изображение ... Я хочу повернуть PictureBox)

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 вместе с растровым изображением.

ответ

1

Хорошо, я думаю, что, наконец, понимаю, что вам нужно. Держите SizeMode как масштабирование и попробовать это:

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

... 

int height = pictureBox1.Height; 
int width = pictureBox1.Width; 
pictureBox1.Width = height; 
pictureBox1.Height= width; 
pictureBox1.Image = newBitmap; 
+0

но PictureBox будет искажать изображение. .. или нет? – Ladessa

+0

Он закроет изображение до границ PictureBox, но не «исказит» его (растягивает/масштабирует) – Kohanz

+0

, но мне нужно, чтобы изображение было заполнено в pictureBox, PictureBoxSizeMode.Zoom работает, но при повороте его размер изменяется неправильный – Ladessa

0

вы можете попробовать:

pictureBox1.SizeMode =PictureBoxSizeMode.StretchImage; 

если вы хотите повернуть PictureBox вы можете попробовать this и this.

+0

мой код поворачивает изображение. Я хочу повернуть PictureBox – Ladessa

Смежные вопросы