World AIDS
AVERT - AIDS charity
Quanti visitatori oggi?
DONAZIONE
AIUTACI A CRESCERE:
DONAZIONE LIBERÀ
Flusso RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


I postatori più attivi del mese


Creare miniature delle immagini

Andare in basso

Creare miniature delle immagini

Messaggio Da florin88 il Ven Gen 15, 2010 11:43 pm

Per mezzo di questo codice è possibile visualizzare una miniatura dell'immagine indicata via GET:

Codice:
 
<%@ 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:

Codice:


<img src="Pagina.aspx?FileName=Immagine.jpg&ScaleFactor=20" border="0" alt="">


avatar
florin88
Admin

Numero di messaggi : 7129
Data d'iscrizione : 18.12.08
Età : 30
Località : Ca' Savio bronx (VE)

Visualizza il profilo http://www.flaviusso.altervista.it

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum