Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Scritta su immagine prob. richiamo

    Con il codice trovato sul forum riesco ad aggiungere il testo sull'immagine, ora dato che il mio sito non è in .net chiedevo se era possibile usare questa funzione in una pagina asp.

    Chiedo questo x' io ridimensiono le immagini con una funzione in .net che richiamo in una pagina asp.

    O meglio ho messo il codice in una pagina .aspx e richiamo la foto così
    codice:
    img src=""../public/gallery/pagina.aspx?FileName="&ObjRs("str_img")&"&newWidth=80&MaxWidth=80&MaxHeight=50""

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    ehm errore, ma quel codice è preso dall'html oppure da un response.write?

  3. #3
    Si manca un pezzo prima...
    Response.Write....

  4. #4
    Il modo forse l'ho trovato ma non rieco ad unire i due codici, con il codice qua di seguito non mi fa + vedere le immagini ridimensionate.


    codice:
    <%@ Page Language="C#" %>
    <%@ import Namespace="System.Drawing" %>
    <%@ import Namespace="System.Drawing.Imaging" %>
    <%@ import Namespace="System.Text.RegularExpressions" %>
    <script runat="server">
    /*
    ------------------------------------------------- 
    DESCRIZIONE:
    la pagina che contiene le immagini conterrà una o più righe simili alle seguenti
    avvalendosi di pagina.aspx per effettuare il ridimensionamento
    ESEMPI:
    ------------------------------------------------- 
    1) nuove dimensioni stabilite
    <img src=pagina.aspx?FileName=/images/myPicture.jpg&newHeight=100&newWidth=100&MaxWidth=200&MaxHeight=200>
    ------------------------------------------------- 
    2) nove dimensioni proporzionate in scala
    <img src=pagina.aspx?FileName=/images/myPicture.jpg&ScaleFactor=3&MaxWidth=200&MaxHeight=200>
    ------------------------------------------------- 
    */
    int ScaleFactor ; // eventuale 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 ( strFileName != "" ) {
    try {
    oldImage = System.Drawing.Image.FromFile( Server.MapPath(strFileName) );
    if ( oldImage.Width > Convert.ToInt32(Request.QueryString["MaxWidth"]) || oldImage.Height > Convert.ToInt32(Request.QueryString["MaxHeight"])) {
    //------------------------------------------------- 
    // Immagine troppo grande, visualizzo la miniatura
    //------------------------------------------------- 
    if ( Request.QueryString["ScaleFactor"] != null && Convert.ToString(Request.QueryString["ScaleFactor"]) != "" && IsInteger(Convert.ToString(Request.QueryString["scalefactor"])) ) ScaleFactor = Convert.ToInt32(Request.QueryString["ScaleFactor"]);
    if ( ScaleFactor > 0) {
    newImage = oldImage.GetThumbnailImage( (oldImage.Width*ScaleFactor/100), (oldImage.Height*ScaleFactor/100), null, IntPtr.Zero);
    }else{
    if (( Convert.ToInt32(Request.QueryString["newWidth"]) > 0) && ( Convert.ToInt32(Request.QueryString["newHeight"]) > 0)){
    newImage = oldImage.GetThumbnailImage(Convert.ToInt32(Request.QueryString["newWidth"]),Convert.ToInt32(Request.QueryString["newHeight"]), null, IntPtr.Zero);
    }else{
    // larghezza passata da Querystring 
    if (Convert.ToInt32(Request.QueryString["newWidth"]) > 0){
    // calcolo un' altezza proporzionata alla larghezza passata
    int newHeight = (Convert.ToInt32(Request.QueryString["newWidth"])*oldImage.Height)/oldImage.Width;
    newImage = oldImage.GetThumbnailImage( Convert.ToInt32(Request.QueryString["newWidth"]),newHeight, null, IntPtr.Zero);
    // altezza passata da Querystring 
    }else{
    // calcolo una larghezza proporzionata all'alteza passata
    int newWidth = (Convert.ToInt32(Request.QueryString["newHeight"])*oldImage.Width)/oldImage.Height;
    newImage = oldImage.GetThumbnailImage( newWidth, Convert.ToInt32(Request.QueryString["newHeight"]), 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);
    }
    //---------------------------------------
    //CODICE PER METTERE LA SCRITTA
    //---------------------------------------
    
    
    void Page_Load(object sender, EventArgs e) { 
    CreaImmagine("© TESTO DA SCIVERE SULLA FOTO"); 
    } 
    void CreaImmagine(string drawString) { 
    // Importo il file di sfondo 
    System.Drawing.Image objBitmap = 
    //originale 
    //System.Drawing.Image.FromFile(Server.MapPath("immagini/estcbck1.jpg")); 
    System.Drawing.Image.FromFile(Server.MapPath(Request.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(1.0F,1.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>

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Response.Write("[img][/img]")

    cosi dovrebbe funzionare ..

  6. #6
    Cosi funziona se tolgo il codice per inserire la scritta, se è presente non mi fa vedere le immagini.

    Quindi credo sia un problema di convivenza tra i due codici

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    objBitmap.Save(Response.OutputStream, ImageFormat.Jpeg);

    devi salvarlo con il nome dell'immagine
    objBitmap.Save("nome.jpg", ImageFormat.Jpeg);

  8. #8
    Dato che il nome dell'immagine la ricavo dalla queryString ho modificato cosi:
    objBitmap.Save(Request.QueryString["FileName"], ImageFormat.Jpeg);
    ma non funziona

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    gli devi dare l'indirizzo comprleto
    tipo
    objBitmap.Save(Server.MapPath("/images/" & Request.QueryString["FileName"]), ImageFormat.Jpeg);

  10. #10
    Il problema non è il percorso perchè se guardo l' html è giusto punta all'immagine,

    Tanto è vero che mi visualizza il quadrato con le dimensioni ridimensionate (per intenderci quello con la x rossa)

    E l'aggiunta della funzione per la scritta che blocca il tutto.

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.