Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Settare Qualità di encoder Resize jpg (codice)

    Salve a tutti

    per settare la qualità dell'encoder del JPG, quando salvo l'immagine riadattata sul server, faccio cosi',
    codice:
                         
        long nQuality = 100;
    
        ImageCodecInfo[] icf = ImageCodecInfo.GetImageEncoders();
        EncoderParameters encps = new EncoderParameters( 1 );
        EncoderParameter encp = new EncoderParameter( System.Drawing.Imaging.Encoder.Quality,nQuality );
    
        //qualità
        encps.Param[0] = encp;
       
       thumbNailImg.Save ( Request.PhysicalApplicationPath + imageUrlThumb +   MyString , icf[1], encps);
       thumbNailImg.Dispose();
    Mi salva l'immagine ma la qualità è pessima.
    Dove sbaglio?

    thnx ^_^

  2. #2
    non riesco proprio a settare la qualità dell'immagine e' sempre sgranata e brutta sopra i 100px

    come posso fare?

  3. #3
    Che sia la compressione JPEG troppo alta? Modifica il parametro necessario per settare questo valore.

    codice:
        long nQuality = 100;
    
        ImageCodecInfo[] icf = ImageCodecInfo.GetImageEncoders();
        EncoderParameters encps = new EncoderParameters(2);
        EncoderParameter ep1 = new EncoderParameter( System.Drawing.Imaging.Encoder.Quality, nQuality );
        EncoderParameter ep2 = new EncoderParameter( System.Drawing.Imaging.Encoder.Compression, 90 );
    
        encps.Param[0] = ep1;
        encps.Param[1] = ep2;
       
       thumbNailImg.Save ( Request.PhysicalApplicationPath + imageUrlThumb +   MyString , icf[1], encps);
       thumbNailImg.Dispose();

  4. #4
    Ti ringrazio ZofM!!! era proprio quello!
    sei stato gentilissimo, non sai quanto mi sei stato d'aiuto!

    Ciauz e grazie ancora

  5. #5
    Sto facendo delle prove, ma modificando la qualità della immagine e della compressione ottengo comunque la stessa dimensione (byte) dell'immagine ridimensionata.
    Es.: ridimensiono un jpg da 500x375 (26KB) in un jpg da 250x187 e mi risulta di 68KB.

    Ecco il codice dei settaggi:
    codice:
    g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                        g.DrawImage(immagine, r);
    
    System.Drawing.Imaging.ImageCodecInfo codec = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()[1];
                        System.Drawing.Imaging.EncoderParameters eParams = new System.Drawing.Imaging.EncoderParameters(1);
                        eParams.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
                        eParams.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Compression, 85);
                        immagineNew.Save(pathTmp, codec, eParams);
                        immagineNew.Dispose();
    Grazie mille. Sto impazzendo con sta roba.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.