Visualizzazione dei risultati da 1 a 9 su 9

Discussione: resize immagini

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    40

    resize immagini

    Ciao, vorrei sapere se esite (e in qual caso dove si può reperire) uno script (o una funzione) per Asp .Net che, data una qualsiasi immagine (anche solo jpeg) la ridimensiona alle dimensioni da me preferite, ovviamente mantenendo le proporzioni. Questa immagine andrà poi caricata in una pagina aspx.

    Grazie!

  2. #2
    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]"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    40
    premetto che non ho ancora avuto tempo di testare il tuo codice e nemmeno quello che sto per proporti.. su aspitalia ci sono 2 link interessanti su quello che interessa a noi:


    HttpHandler
    http://www.aspitalia.com/liste/usag/script.aspx?ID=501
    o pagina ASP.NET
    http://www.aspitalia.com/liste/usag/script.aspx?ID=525

  4. #4
    aiuto!!!
    utilizzo Classic ASP ed ho poca esperienza di ASP.NET


    con quegli script come salvare l'immagine miniaturizzata in remoto?
    quali parametri passare dall'URL
    ?

    grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    40
    se ti riferisci a questo:
    http://www.aspitalia.com/liste/usag/script.aspx?ID=525

    è sufficente che passi nell'url il percorso virtual dell'immagine, ad esempio /image/xxxyyy.jpg
    come è spiegato alla fine di quel link...
    se hai problemi fammi sapere,io l'ho usato e mi è stato davvero utile, ma non passavo il percorso dell'immagine dall'url.

  6. #6
    e si può salvare l'immagine in remoto anzicchè visualizzarla a video?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    40
    si, io ho fatto in modo che le imamgini ridimensionate venissero salvate in locale, sul pc dove sta girando l'applicazione.
    ad esempio:

    ' creo la Thumbnail con i parametri impostati
    Dim bigImg As New System.Drawing.Bitmap(bmp, width, height)
    ' salvo sullo stream di output (su file)
    bigImg.Save(spathBig, System.Drawing.Imaging.ImageFormat.Jpeg)

    in questo modo salvi un'immagine jpg nel percorso "spathBig" , se non mi sbaglio spathBig deve contenere il percorso completo+il nome del file con estensione, tutto chiaro?

  8. #8
    ok grazie,
    ma salvarle sul server? (utilizzo questa funzione in un gestionale)

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    40
    ..mmm.. non so, prova a mettere l'indirizzo del server ma non so se accetta indirizzi URI o URL

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.