Filoweb.it

visualizzare una miniatura dell'immagine indicata via GET:


FB TW Pinterest whatsapp RSS FEED News letter
ASP NET
visualizzare una miniatura dell'immagine indicata via GET:


<%@ Page Language=" C#" %>

<%@ import Namespace=" System.Drawing" %>

<%@ import Namespace=" System.Drawing.Imaging" %>

<%@ import Namespace=" System.Text.RegularExpressions" %>

<script runat=" server" >



int MaxWidth = 100; // Larghezza massima dopo il quale l' immagine viene ridimensionata

int MaxHeight = 100; // Altezza massima dopo il quale l' immagine viene ridimensionata

int ScaleFactor = 20; // Fattore di scala per la miniatura

System.Drawing.Image oldImage, newImage;



void Page_Load(Object sender, EventArgs e) {

if ( Request.QueryString[" FileName" ] != null ) {

string strFileName = Convert.ToString(Request.QueryString[" FileName" ]);

if ( Request.QueryString[" ScaleFactor" ] != null && Convert.ToString(Request.QueryString[" ScaleFactor" ]) != " " && IsInteger(Convert.ToString(Request.QueryString[" scalefactor" ])) ) ScaleFactor = Convert.ToInt32(Request.QueryString[" ScaleFactor" ]);

if ( strFileName != " " ) {

try {

oldImage = System.Drawing.Image.FromFile( Server.MapPath(strFileName) );

if ( oldImage.Width > MaxWidth || oldImage.Height > MaxHeight ) {

// Immagine troppo grande, visualizzo la miniatura

newImage = oldImage.GetThumbnailImage( (oldImage.Width*ScaleFactor/100), (oldImage.Height*ScaleFactor/100), null, IntPtr.Zero);

Response.ContentType = " image/jpeg" ;

newImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

oldImage.Dispose();

newImage.Dispose();

oldImage = null;

newImage = null;

} else {

// Immagine piccola, non faccio nulla

Response.ContentType = " image/jpeg" ;

oldImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

oldImage.Dispose();

oldImage = null;

}

} catch (Exception ex) {

Response.Write(ex.Message);

}

}

}

}



private bool IsInteger(string strTmp) {

Regex objNotIntPattern = new Regex(" [^0-9-]" );

Regex objIntPattern = new Regex(" ^-[0-9]+$|^[0-9]+$" );

return !objNotIntPattern.IsMatch(strTmp) && objIntPattern.IsMatch(strTmp);

}



</script>



Questo codice andrà salvato come file ASPX e dovrà essere richiamato semplicemente con:



<img src=" Pagina.aspx?FileName=Immagine.jpg&ScaleFactor=20" border=" 0" alt=" " >
FB TW Pinterest whatsapp RSS FEED News letter

filoweb.it è il sito personale di Filippo Brunelli
(c) 2017 Filippo Brunelli
Le immagini ed i testi contenuti nel sito filoweb.it sono di proprietà di Filippo Brunelli salvo diversamente indicato.
L'uso delle immagini e del testo è gratuito per uso personale ed è subbordinato alla citazione della fonte.
Brunelli Filippo declina ogni responsabilità per l'uso che viene fatto delle informazioni presenti nel sito filoweb.it.
FILOWEB.it Piccolo quaderno degli appunti. Argomento: ASP NET, Titolo:visualizzare una miniatura dell'immagine indicata via GET:. Altri script riguardano: CSS, Jscript, .net, Classic Asp, HTML, Jquery, varie, url rewrite, pagina protetta da password, ecc. Altro su https://www.filoweb.it