Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di klinik
    Registrato dal
    Mar 2003
    Messaggi
    140

    Ridimensionamento+scritta su immagine

    Salve, ho 2 script asp.net, uno serve per ridimensionare le immagini, per creare le thumbnail, e l'altro per ricreare l'immagine con una scritta voluta.

    Mi piacerebbe miscelare questi 2 script e farne uno solo che faccia tutte e due le cose:

    1) script per ridimensionare:

    <%@ Import Namespace="System.Drawing"%>
    <%@ Import Namespace="System.Drawing.Imaging"%>
    <SCRIPT RUNAT="SERVER">
    Sub Page_Load()

    ' imposta altezza e larghezza delle miniature

    Dim width as Integer = 150
    Dim height as Integer = 112

    try
    ' ricava dimensioni dalla richiesta
    if not Request.QueryString("width") is Nothing Then
    width = Int32.Parse(Request.QueryString("width"))
    End if
    if not Request.QueryString("height") is Nothing Then
    height = Int32.Parse(Request.QueryString("height"))
    End if

    catch ex as Exception
    End Try

    ' ridimensiona l'immagine se specificato

    Dim immagine as String = Server.MapPath(Request("img"))
    if Not System.Io.File.Exists(immagine) then
    immagine = Server.MapPath("/immagini/nondisponibile.jpg")
    end if

    call ImgRedim(immagine, width, height)

    ' fermo il resto della risposta
    Response.End()
    End Sub

    ' Funzione di redim
    Public Sub ImgRedim(immagine as String, width as Integer, height as Integer)
    Dim bmp as System.Drawing.Bitmap = CType(System.Drawing.Image.FromFile(immagine), System.Drawing.Bitmap)

    ' c'è da ridimensionare?
    if width>0 or height>0 then
    ' se è specificata solo la larghezza, calcola l'altezza
    if height = 0 Then
    height = Convert.ToInt32(width / bmp.Width * bmp.Height)
    End if

    ' (e viceversa)
    if width = 0 Then
    width = Convert.ToInt32(height / bmp.Height * bmp.Width)
    End if

    ' creo la Thumbnail con i parametri impostati
    Dim miniaturabmp as New System.Drawing.Bitmap(bmp, width, height)

    ' salvo sullo stream di output
    if immagine.EndsWith(".jpg") Then
    miniaturabmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
    else
    miniaturabmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
    end if

    ' pulizia
    miniaturabmp.Dispose()
    else
    ' salvo sullo stream di output
    if immagine.EndsWith(".jpg") Then
    bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
    else
    bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
    end if
    end if

    ' pulizia finale
    bmp.Dispose()

    End Sub

    </SCRIPT>


    2) script per la scritta


    <%@ Page Language="C#" %>
    <%@ import Namespace="System.Drawing" %>
    <%@ import Namespace="System.Drawing.Imaging" %>
    <%@ import Namespace="System.IO" %>
    <script runat="server">

    void Page_Load(object sender, EventArgs e) {
    CreaImmagine("© Foto archivio www.valfiemme.com");
    }

    void CreaImmagine(string drawString) {
    // Importo il file di sfondo
    System.Drawing.Image objBitmap =

    //originale
    //System.Drawing.Image.FromFile(Server.MapPath("prov a.jpg"));

    System.Drawing.Image.FromFile(Server.MapPath(Reque st.QueryString["image"]));

    Graphics objGraphic = Graphics.FromImage(objBitmap);
    // Formatto il testo da inserire
    Font drawFont = new Font("Verdana", 10);
    SolidBrush drawBrush = new SolidBrush(Color.Black);
    // La posizione del testo
    PointF drawPoint = new PointF(2.0F, 2.0F);
    // Disegno la stringa di testo sull'immagine
    objGraphic.DrawString(drawString, drawFont, drawBrush, drawPoint);
    // Imposto la tipologia di output
    Response.ContentType = "image/jpeg";
    // Salvo in output l'immagine
    objBitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
    objBitmap.Dispose();
    }
    </script>

    Sarebbe possibile lacosa??
    Grazie
    Gabriele

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    copi il codice in una sola pagina, mettendo una solo sub Page_load (trasporti tutto il codice in una sola sub, l'altra page_load la cancelli)
    poi certo ci sarebbe il discorso di ottimizzazione del codice, tipo evitare 2 variabili x una stessa cosa

  3. #3
    e come richiamo la foto per il secondo script?

    [img]foto.jpg?.... e poi....[/img]

  4. #4
    Ok ci sono riuscito scusate

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 © 2026 vBulletin Solutions, Inc. All rights reserved.