none
Redimensionar imagens RRS feed

  • Pergunta

  • Olá, alguém sabe um método de redimensionar imagens de maneira que ela não perca qualidade, pois vi várias maneiras na internet, porém elas perdem qualidade.

    Se alguém puder me ajudar ficarei grato.

    Desde já agradeço.

    Obrigado

    sábado, 17 de setembro de 2011 17:57

Respostas

  • Esse método reduz a imagem sem perder a qualidade:

    public void ResizeImage(double scaleFactor, Stream fromStream, Stream toStream)
    
    {
    
        var image = Image.FromStream(fromStream);
    
        var newWidth = (int)(image.Width * scaleFactor);
    
        var newHeight = (int)(image.Height * scaleFactor);
    
        var thumbnailBitmap = new Bitmap(newWidth, newHeight);
    
     
    
        var thumbnailGraph = Graphics.FromImage(thumbnailBitmap);
    
        thumbnailGraph.CompositingQuality = CompositingQuality.HighQuality;
    
        thumbnailGraph.SmoothingMode = SmoothingMode.HighQuality;
    
        thumbnailGraph.InterpolationMode = InterpolationMode.HighQualityBicubic;
    
     
    
        var imageRectangle = new Rectangle(0, 0, newWidth, newHeight);
    
        thumbnailGraph.DrawImage(image, imageRectangle);
    
     
    
        thumbnailBitmap.Save(toStream, image.RawFormat);
    
     
    
        thumbnailGraph.Dispose();
    
        thumbnailBitmap.Dispose();
    
        image.Dispose();
    
    }
    

    Fonte: http://weblogs.asp.net/gunnarpeipman/archive/2009/04/02/resizing-images-without-loss-of-quality.aspx


    João Paulo Gomes http://johnowl.com/
    • Marcado como Resposta Lucas Alves T O terça-feira, 11 de outubro de 2011 19:24
    quarta-feira, 21 de setembro de 2011 11:34