err:D:\inetpub\webs\prolocobricherasiocom\file\296201713196.jpg
/*
Lo script 'ThumbnailImage.aspx' genera un thumbnail on-the-fly di un'immagine sul server.
Sono supportati vari formati, tra cui i più diffusi quali 'jpeg', 'gif' e 'png', l'output
viene sempre effettuato con il formato 'jpeg'.
La sintassi è:
i parametri sono:
- img: Path relativo dell'immagine sul server (per esempio "image.jpg" o "./img.gif").
- w : Larghezza, vedi parametro 'fn'.
- h : Altezza, vedi parametro 'fn'.
- fn : Tipo di funzione:
- l: limit, genera un'immagine limitata in larghezza al parametro 'w' e limitata in
altezza al parametro 'h' (espressi in pixel), l'aspect ratio viene mantenuto.
Nel caso che 'w' e/o 'h' non siano specificati, per default, il limite 'w' verrà
assunto con il valore di 150 pixel, mentre 'h' con il valore di 100 pixel.
Se né la larghezza, né l'altezza superano i limiti, l'immagine non viene modificata.
Questa funzione è assunta come default se 'fn' non è specificato.
- g: grow, simile alla funzione 'l', con la differenza che l'immagine viene ingrandita
il più possibile senza superare i limiti di dimensione 'w' e 'h'.
Se l'immagine originale supera i limiti, l'immagine generata sarà rimpicciolita
in modo equivalente a quella ottenuta con la funzione 'l', se invece l'immagine
originale è più piccola, l'immagine viene ingrandita fino al massimo consentito
dai limiti, in questo ultimo caso, la funzione 'l' lascia invece immutata
l'immagine.
- z: zoom, genera un'immagine alla quale viene applicato uno zoom 'w' sull'asse X
e uno zoom 'h' sull'asse Y.
Lo zoom è espresso in percentuale (100 = 100% = dimensione originale).
Se 'w' non è specificato, 100 (100%) viene assunto come default.
Se 'h' non è specificato, lo stesso valore di 'w' viene assunto come default,
in questo caso, l'aspect ratio viene mantenuto.
Su ambedue gli assi, lo zoom massimo è limitato a 1000% (zoom x10).
Lo zoom può essere specificato con un numero reale (per esempio: 120.25).
- a: absolute, genera un'immagine con dimensioni assolute specificate da 'w' e 'h' in pixel.
L'aspect ratio non è forzatamente mantenuto.
Nel caso che 'w' e/o 'h' non siano specificati, per default 'w' verrà assunto
con il valore di 150 pixel assoluti e 'h' con il valore di 100 pixel assoluti.
NOTA: la larghezza e l'altezza finale del thumbnail viene limitata ad un minimo di 10 pixel.
NOTA: i valori di default possono essere modificati in modo da non dover specificare nessun
parametro in applicazioni che utilizzano un solo tipo di funzione e delle dimensioni
fisse (oppure uno zoom fisso).
Con i valori di default correnti, la riga seguente genera un thumbnail con larghezza
massima di 150 pixel e altezza massima di 100 pixel:
NOTA: l'output del thumbnail viene effettuato nel formato 'jpeg' (quello che fornisce il
risultato migliore).
A puro titolo didattico, ecco come si potrebbe ottenere un output con lo stesso formato
dell'immagine originale:
// Formato dell'immagine originale
System.Drawing.Imaging.ImageFormat imgFormat = origImage.RawFormat;
// Se il formato è 'gif' o 'png', usa questi ultimi, in caso contrario,
// esegui l'output in formato 'jpeg'
string type = "jpeg";
if (imgFormat.Equals(ImageFormat.Gif)) type = "gif";
else if (imgFormat.Equals(ImageFormat.Png)) type = "png";
else imgFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
Response.ContentType = "image/" + type;
inoltre, in ambedue le istruzioni che usano il method Save(), modificare così:
origImage.Save(Response.OutputStream, imgFormat);
e
newImage.Save(Response.OutputStream, imgFormat);
*/