CodeXchange Tuesday, March 19, 2019
What's it?
My Snippets
Add Snippet
Contact Us

Website hosted by

Code Snippet Preview

Review the code snippet before inserting it on your project.

Snippet Metadata
Summary: Resize images proportionally, with high quality ouput
Language: C#
Author: Ernesto Giralt
Author snippets RSS:
Culture: en-US
Bytes: 1622
Visual Studio 2005 Snippet:

Snippet Stats
Downloads: 4
Overall rating : 0
Average rating : Snippet rating

Snippet Preview
        public Image ResizeImage(Image image, int newWidth, int newHeight)
            // Algorithm to resize proportionally the image
            // 2.) Determine the target image ratio and the file's image ratio (width divided by depth)
            // 3.) If the file's image ratio is greater-than the target image ratio, then we know that 
            // we have to size proportionally based on WIDTH, otherwise we size proportionally based 
            // on HEIGHT (and if it was not a valid image, return an empty resize string) 
            double originalRatio = (double) image.Width / image.Height;
            double standardRatio = (double) newWidth / newHeight;

            // Constraint the sizes
            if (originalRatio > standardRatio)
                newHeight = (int) (image.Height * newWidth / image.Width);
                newWidth = (int) (image.Width * newHeight / image.Height);

            System.Drawing.Image result = new Bitmap(newWidth, newHeight);
            System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(result);

            // Set the quality options
            graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
            graphic.SmoothingMode = SmoothingMode.HighQuality;
            graphic.PixelOffsetMode = PixelOffsetMode.HighQuality;
            graphic.CompositingQuality = CompositingQuality.HighQuality;
            // Draw the image with the resized dimensions
            graphic.DrawImage(image, 0, 0, newWidth, newHeight);

            return result;

Snippet Comments
No comments for this snippet

Other snippets that may interest you..
Related Snippets
TDT - GridPage - Page_Init (C#)
CustomValitaor (C#)
Get the file extension from a file path or file name (VB.NET)
grab record from db and subtracts it from variable (VB.NET)

Copyright ©2009-2019 CodeXchange. Server version 1.0.3720.32855 Client Version

With from Barcelona

Most Helpful members
These are the members who have received the most points for their helpful samples
Zepho Zep
Robert Wagner
Galen Taylor

All time 'Hall of fame'
Formating a file size and adding the B, KB, MB and GB extension appropriately with string.Format (C#)
INI File Access (VB.NET)
Read XML from string into DataSet (C#)
Create Manifest File for your Application (VB.NET)
Round function to avoid banker's rounding (VB.NET)
Get Short and Long Path Names (VB.NET)
Sending Mail through authenticated SMTP server (C#)
One Way Hash for strings (C#)
Formating a file size and adding the B, KB, MB and GB extension appropriately with string.Format (C#)
How do I load an image from a URI address? (VB.NET)
Use our easy to use Visual Studio.NET addin client and start sharing code snippets with the CodeXchange community!
Refreshed: Tuesday, March 19, 2019