Image Resizer for ASP.NET

Does anyone know of any good API for image resizing for ASP.net?

+2


source to share


6 answers


Checkout System.Drawing Namespace

MSDN Documentation



Image resizing - question

+2


source


The ImageResizer library is actively developed, supported and supported (since 2007). It follows the latest technology, features and has a simple API. It is safe, secure, reliable, and reliable to support hundreds of commercial websites.



It is compatible with ASP.NET 2.0 to 4.0, MVC, and works very fast with IIS 7.

+2


source


This is what I am using:

internal static System.Drawing.Image FixedSize(System.Drawing.Image imgPhoto, int Width, int Height)
{
    int sourceWidth = Convert.ToInt32(imgPhoto.Width);
    int sourceHeight = Convert.ToInt32(imgPhoto.Height);
    int sourceX = 0;
    int sourceY = 0;
    int destX = 0;
    int destY = 0;

    float nPercent = 0;
    float nPercentW = 0;
    float nPercentH = 0;

    nPercentW = ((float)Width / (float)sourceWidth);
    nPercentH = ((float)Height / (float)sourceHeight);
    if (nPercentH < nPercentW)
    {
        nPercent = nPercentH;
        destX = System.Convert.ToInt16((Width -
            (sourceWidth * nPercent)) / 2);
    }
    else
    {
        nPercent = nPercentW;
        destY = System.Convert.ToInt16((Height -
            (sourceHeight * nPercent)) / 2);
    }

    int destWidth = (int)(sourceWidth * nPercent);
    int destHeight = (int)(sourceHeight * nPercent);

    Bitmap bmPhoto = new Bitmap(Width, Height,
        PixelFormat.Format24bppRgb);
    bmPhoto.SetResolution(imgPhoto.HorizontalResolution,
        imgPhoto.VerticalResolution);

    Graphics grPhoto = Graphics.FromImage(bmPhoto);
    grPhoto.Clear(Color.Black);
    grPhoto.InterpolationMode =
        InterpolationMode.HighQualityBicubic;

    grPhoto.DrawImage(imgPhoto,
        new Rectangle(destX, destY, destWidth, destHeight),
        new Rectangle(sourceX, sourceY, sourceWidth, sourceHeight),
        GraphicsUnit.Pixel);

    grPhoto.Dispose();
    return bmPhoto;
}

      

The usage is pretty simple:

System.Drawing.Image orignalImage =  Image.FromFile(filePath);
System.Drawing.Image resizedImage = FixedSize(originalImage, 640, 480);

      

+1


source


Resizing images is easy enough not to require an API. I wrote this task for myself myself. here's a bit if the code starts you down that path.

// get original image
System.Drawing.Image orignalImage =  Image.FromFile(originalPath);
// create a new image at the desired size
System.Drawing.Bitmap newImage = new Bitmap(450, 338);
// create grpahics object to draw with
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(newImage);
//draw the new image
g.DrawImage(orignalImage, r);
// save the new image       
newImage.Save(System.IO.Path.Combine(OUTPUT_FOLDER_PATH , ImageName.Replace(" ", "")));

      

0


source


I will provide this as an alternative to the other provided answers. Image Magick is a very powerful and mature image processing library that you can use from .net. I have had great success.

http://www.imagemagick.org/script/index.php

0


source


Here is a sample application for resizing an image.

I tried it myself and it works.

Image Resizer Example
Image Resizer Class

0


source







All Articles