Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 92017
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T23:07:15+00:00 2026-05-10T23:07:15+00:00

I want to scale an image in C# with quality level as good as

  • 0

I want to scale an image in C# with quality level as good as Photoshop does. Is there any C# image processing library available to do this thing?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T23:07:15+00:00Added an answer on May 10, 2026 at 11:07 pm

    Here’s a nicely commented Image Manipulation helper class that you can look at and use. I wrote it as an example of how to perform certain image manipulation tasks in C#. You’ll be interested in the ResizeImage function that takes a System.Drawing.Image, the width and the height as the arguments.

    using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging;  namespace DoctaJonez.Drawing.Imaging {     /// <summary>     /// Provides various image untilities, such as high quality resizing and the ability to save a JPEG.     /// </summary>     public static class ImageUtilities     {             /// <summary>         /// A quick lookup for getting image encoders         /// </summary>         private static Dictionary<string, ImageCodecInfo> encoders = null;          /// <summary>         /// A lock to prevent concurrency issues loading the encoders.         /// </summary>         private static object encodersLock = new object();          /// <summary>         /// A quick lookup for getting image encoders         /// </summary>         public static Dictionary<string, ImageCodecInfo> Encoders         {             //get accessor that creates the dictionary on demand             get             {                 //if the quick lookup isn't initialised, initialise it                 if (encoders == null)                 {                     //protect against concurrency issues                     lock (encodersLock)                     {                         //check again, we might not have been the first person to acquire the lock (see the double checked lock pattern)                         if (encoders == null)                         {                             encoders = new Dictionary<string, ImageCodecInfo>();                              //get all the codecs                             foreach (ImageCodecInfo codec in ImageCodecInfo.GetImageEncoders())                             {                                 //add each codec to the quick lookup                                 encoders.Add(codec.MimeType.ToLower(), codec);                             }                         }                     }                 }                  //return the lookup                 return encoders;             }         }          /// <summary>         /// Resize the image to the specified width and height.         /// </summary>         /// <param name='image'>The image to resize.</param>         /// <param name='width'>The width to resize to.</param>         /// <param name='height'>The height to resize to.</param>         /// <returns>The resized image.</returns>         public static System.Drawing.Bitmap ResizeImage(System.Drawing.Image image, int width, int height)         {             //a holder for the result             Bitmap result = new Bitmap(width, height);             //set the resolutions the same to avoid cropping due to resolution differences             result.SetResolution(image.HorizontalResolution, image.VerticalResolution);              //use a graphics object to draw the resized image into the bitmap             using (Graphics graphics = Graphics.FromImage(result))             {                 //set the resize quality modes to high quality                 graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;                 graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;                 graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;                 //draw the image into the target bitmap                 graphics.DrawImage(image, 0, 0, result.Width, result.Height);             }              //return the resulting bitmap             return result;         }          /// <summary>          /// Saves an image as a jpeg image, with the given quality          /// </summary>          /// <param name='path'>Path to which the image would be saved.</param>          /// <param name='quality'>An integer from 0 to 100, with 100 being the          /// highest quality</param>          /// <exception cref='ArgumentOutOfRangeException'>         /// An invalid value was entered for image quality.         /// </exception>         public static void SaveJpeg(string path, Image image, int quality)         {             //ensure the quality is within the correct range             if ((quality < 0) || (quality > 100))             {                 //create the error message                 string error = string.Format('Jpeg image quality must be between 0 and 100, with 100 being the highest quality.  A value of {0} was specified.', quality);                 //throw a helpful exception                 throw new ArgumentOutOfRangeException(error);             }              //create an encoder parameter for the image quality             EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);             //get the jpeg codec             ImageCodecInfo jpegCodec = GetEncoderInfo('image/jpeg');              //create a collection of all parameters that we will pass to the encoder             EncoderParameters encoderParams = new EncoderParameters(1);             //set the quality parameter for the codec             encoderParams.Param[0] = qualityParam;             //save the image using the codec and the parameters             image.Save(path, jpegCodec, encoderParams);         }          /// <summary>          /// Returns the image codec with the given mime type          /// </summary>          public static ImageCodecInfo GetEncoderInfo(string mimeType)         {             //do a case insensitive search for the mime type             string lookupKey = mimeType.ToLower();              //the codec to return, default to null             ImageCodecInfo foundCodec = null;              //if we have the encoder, get it to return             if (Encoders.ContainsKey(lookupKey))             {                 //pull the codec from the lookup                 foundCodec = Encoders[lookupKey];             }              return foundCodec;         }      } } 

    Update

    A few people have been asking in the comments for samples of how to consume the ImageUtilities class, so here you go.

    //resize the image to the specified height and width using (var resized = ImageUtilities.ResizeImage(image, 50, 100)) {     //save the resized image as a jpeg with a quality of 90     ImageUtilities.SaveJpeg(@'C:\myimage.jpeg', resized, 90); } 

    Note

    Remember that images are disposable, so you need to assign the result of your resize to a using declaration (or you could use a try finally and make sure you call dispose in your finally).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there any code or library out there that can help me scale down
Is there any R function to convert grey scale image to binary image. There
I want to scale out my EC2 instances on AWS. For this I have
Is there anyway to scale an image then display in jsp page? When retrieve
I want to add an image to a UIButton, and also want to scale
I want to scale an image after rotating it using CGAffineTransformMakeRotation. When I simply
I have a scale vector image and I want it to fill a container.
How can i scale an image every second by using an integer?? I want
I want to scale captured image and show it in the picture box which
suppose I have selected image from image picker,and now I want to scale that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.