Visualizzazione dei risultati da 1 a 4 su 4

Discussione: dimesione img

  1. #1

    dimesione img

    ciao
    con questo codice riesco a ridimensionare delle immagini,
    quello che mi interesserebbe è riuscire a creare le miniature proporzionate fissandogli o la larghezza o l'altezza mentre così le ridimensiona in percentuale...

    si puo' fare?

    <%@ 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 = 30; // 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>



    GRAZIE

    Ps.

    PEr richimare la img faccio:

    Response.Write"[img][/img]"

    magari è utile a qualcuno

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    se fai cosi nn rikiami un bel niente
    Response.Write"[img][/img]"
    invece cosi si
    Response.Write("[img][/img]")

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    cmq credo ke la modifica sia qui

    newImage = oldImage.GetThumbnailImage(

    (oldImage.Width*ScaleFactor/100), (oldImage.Height*ScaleFactor/100), null, IntPtr.Zero);
    nn so .. prova a togliere il /100
    newImage = oldImage.GetThumbnailImage(

    (oldImage.Width*ScaleFactor), (oldImage.Height*ScaleFactor), null, IntPtr.Zero);

  4. #4
    Utente di HTML.it L'avatar di satoshi
    Registrato dal
    May 2002
    Messaggi
    217
    ho scaricato la versione sugli articoli di free asp ho messo i file nella mia root principale ma quando vado sulla pagina che dovrebbe fungere da link non mi compare l'immagine e non ho il link

    ecco il codice che ho preso


    pagina GetThumbnailImage.aspx


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


    pagina Miniature.htm


    <html>

    <head>
    <title>FreeASP.it</title>
    </head>

    <body>
    [img]GetThumbnailImage.aspx?FileName=Immagine.jpg&Scale Factor=20[/img]
    </body>

    </html>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.