Solved

C# .net Image Resizer

Posted on 2014-02-07
1
300 Views
Last Modified: 2014-02-19
Hi

I have the following piece of code which resizes images to 620 pixels wide by 414 pixels high

Problem is when someone uploads a picture say 309 pixels wide by 414 pixels high it stretches the image to 620 pixels wide.

Anyone know how to amend this so if the width of a picture is less that 620 pixels wide it adds white space to either side of the image?

Thanks in advance

using System.Drawing;
using System.Drawing.Drawing2D;

public class ImageResizer
{
    public static Image ResizeImage(Image image, Size size, bool preserveAspectRatio)
    {
        int newWidth;
        int newHeight;
        if (preserveAspectRatio)
        {
            int originalWidth = image.Width;
            int originalHeight = image.Height;
            float percentWidth = (float)size.Width / (float)originalWidth;
            float percentHeight = (float)size.Height / (float)originalHeight;
            float percent = percentHeight < percentWidth ? percentHeight : percentWidth;
            newWidth = (int)(originalWidth * percent);
            newHeight = (int)(originalHeight * percent);
        }
        else
        {
            newWidth = size.Width;
            newHeight = size.Height;
        }
        Image newImage = new Bitmap(newWidth, newHeight);
        using (Graphics graphicsHandle = Graphics.FromImage(newImage))
        {
            graphicsHandle.InterpolationMode = InterpolationMode.HighQualityBicubic;
            graphicsHandle.DrawImage(image, 0, 0, newWidth, newHeight);
        }
        return newImage;
    }
}

Open in new window

0
Comment
Question by:TPLLimited
1 Comment
 
LVL 19

Accepted Solution

by:
Melih SARICA earned 500 total points
Comment Utility
Create a bitmap with white background
resize height
draw image on this bitmap.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

I. Introduction In a previous article (http://www.experts-exchange.com/Web_Development/Document_Imaging/A_6537-PaperPort-Upgrade-How-to-download-and-install-updated-versions-of-PaperPort-11-and-12.html) (now deprecated), I discussed how to upgrad…
I. Introduction In a previous article (http://www.experts-exchange.com/Web_Development/Document_Imaging/A_6537-PaperPort-Upgrade-How-to-download-and-install-updated-versions-of-PaperPort-11-and-12.html) (now deprecated), I discussed how to upgrad…
This video demonstrates how to use each tool, their shortcuts, where and when to use them, and how to use the keyboard to improve workflow.
In this Micro Tutorial viewers will learn the basic shortcuts and functions in InDesign.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now