32 messaggi dal 10 novembre 2005
Salve a tutti, ho un problema:
attraverso un Upload il Cliente può caricarsi in autonomia immagini sul sito, creando delle fotogallery.
Attraverso degli script presi da questo sito mi creo 2 thumbnail ridimensionate che mi servono nelle visualizzazioni. Il problema è che, nonostante il ridimensionamento, le immagini pesano sui 300kb, poco meno dell'originale, il quale pesa troppo.
Vorrei sapere, se ne siete a conoscenza, se esistono metodi per riuscire ad alleggerire via codice le immagini, vorrei evitare di farlo fare a mano dal Cliente anche perché diciamo che non è proprio bravissimo in queste cose.

Vi ringrazio molto.
Beh se hai preso gli script di questo sito, probabilmente salvi in Jpeg e imposti anche la qualità. Negli esempi era a 100, ma lo puoi abbassare. Ovviamente diminuisce la qualità, ma è l'unica cosa su cui puoi intervenire

Ciao

Il mio blog
Homepage
32 messaggi dal 10 novembre 2005
Ho fatto come dice lo script #517, ma viene sollevata l'eccezione
System.ArgumentException: Parameter is not valid.
con queste righe di codice alla chiamata del metodo Save:

Bitmap miniaturaBMP = new Bitmap(bmp, realWidth, realHeight);

EncoderParameters enc = new EncoderParameters();
enc.Param[0] = new EncoderParameter(Encoder.Quality, 6);

ImageCodecInfo[] ic = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;
for (int i = 0; i < ic.Length && ici == null; i++)
if (ic[i].MimeType == "image/jpeg")
ici = ic[i];
miniaturaBMP.Save(path + "\\" + prefisso + nomeFile, ici, enc);
miniaturaBMP.Dispose();

Cosa può essere?

Grazie mille
Hai provato a variare la qualità? Con 100 va?

Ciao

Il mio blog
Homepage
32 messaggi dal 10 novembre 2005
Effettivamente avevo messo 6 ma volevo mettere 60, ma in ogni caso non va nemmeno con 100...
E il codice mi sembra equivalente a quello dello script.
32 messaggi dal 10 novembre 2005
Ho trovato la soluzione qua: http://msdn2.microsoft.com/en-us/library/system.drawing.imaging.encoder.quality.aspx

Come qualità bisogna mettere 100L per qualità 100, quindi 60L per 60 e così via.

Nello script #517 non lo segnalava.

Grazie comunque!
Ah già, perché vuole un valore Long. Nello script non c'era perché è in vb. Va beh...

Ciao

Il mio blog
Homepage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC