I want to scale images, but I don't want the image to look skewed.
The image has to be 115x115 (length x width).
The image can't be over 115 pixels high (length), but if needed, the width can be less than 115 but not more.
Is this tricky?
Select the "Constrain Proportions" option to scale the image without distorting it and change the value in the "Height" or "Width" box. The second value changes automatically to prevent the image from distorting.
You need to preserve aspect ratio:
float scale = 0.0;
if (newWidth > maxWidth || newHeight > maxHeight)
{
if (maxWidth/newWidth < maxHeight/newHeight)
{
scale = maxWidth/newWidth;
}
else
{
scale = maxHeight/newHeight;
}
newWidth = newWidth*scale;
newHeight = newHeight*scale;
}
In the code, Initially newWidth/newHeight are width/Height of image.
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