i got a problem with image scaling in C#.
I have a picture Box with given Size : e.g. width = 800px height = 600px
I am loading different images into that picture box, small ones ( 400x400) and big ones (800+ x 600+)
My images are getting resized if they do not fit into box. But they are always resized to MAX width and height of PictureBox. So the aspect ratio is destroyed.
Can anybody help to identify / fix the problem?
Classes:
Form1.cs
ImageHandling.cs (commented out)
ImageUtilities.cs
Examples:
Problem 1: My Version
vs Original Source
Problem 2:
My Version
vs Original Source
How i want it:
Solution
If you use the Windows Forms PictureBox control on a form, you can set the SizeMode property on it to: Align the picture's upper left corner with the control's upper left corner. Center the picture within the control. Adjust the size of the control to fit the picture it displays.
In computer graphics and digital imaging, image scaling refers to the resizing of a digital image. In video technology, the magnification of digital material is known as upscaling or resolution enhancement.
The default is Normal.
this.PictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
Set that property to your PictureBox and the size of the image will increased or decreased to fit the PictureBox maintaining the size ratio.
For more info: http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With