Filoweb.it

visualizzare una miniatura dell'immagine indicata via GET:


FB TW G+ 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 G+ 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 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 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