Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446

    Watermark Asp.net ( VB )

    Salve a tutti,
    avevo una funzioncina in C# per utilizzare la tecnica del watermark su una foto ( scrivere un testo su un'immagine ).
    Dato pero' che ho la funzione di upload in VB, vorrei trasformare questa funzione scritta in C# in VB.
    C'ho provato, ma ogni volta che la compilo, mi ritorna "Errore Generico GDI+ ".
    Qualcuno saprebbe aiutarmi?
    Grazie mille

    Ecco la funzione :

    codice:
    Public Sub CreaImmagine(drawString as String, percorso as String, nomefile as String) 
    		 ' Carico l'immagine da utilizzare tramite la chiamata al metodo MapPath() dell'oggetto Server
    		 ' Dim objBitmap as New System.Drawing.Image.FromFile(Server.MapPath("../upload/p1"&nomefile))
    		 Dim percorso2 as String = percorso & "/p1" & nomefile
    		Dim objBitmap as System.Drawing.Image = System.Drawing.Image.FromFile(percorso2)
    		Dim ObjGraphic As Graphics = Graphics.FromImage(objBitmap)
    		' Scelgo la font e le dimensioni della scritta
    		Dim drawFont As Font
    		Dim Pennello As Brush
    		drawFont = New Font("Verdana", 12)
    		Pennello = New SolidBrush(Color.Yellow)
    		
    		' Brush = New SolidBrush(Color.FromArgb(125, 0, 125))
    
    		Dim drawPoint as New PointF(0.5F, 0.5F)
    		objGraphic.DrawString(drawString, drawFont, Pennello, drawPoint)
    		' Imposto come ContentType il formato jpg, ma è possibile inserire anche altri formati
    		Response.ContentType = "image/jpeg"
    		' Grazie a questa opzione è possibile visualizzare subito l'immagine
    		objBitmap.Save((Server.MapPath(percorso2)),ImageFormat.Jpeg)
    		' Infine questa riga libera le risorse utilizzate per il bitmap
    		objBitmap.Dispose()
    		objGraphic.Dispose()
    End Sub
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  2. #2
    Allega quella in C#
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    codice:
    void CreaImmagine(string drawString) {
    // Importo il file di sfondo
    System.Drawing.Image objBitmap = 
    
    //originale
    //System.Drawing.Image.FromFile(Server.MapPath("prova.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(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();
    }
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    up!
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  5. #5
    "Errore Generico GDI+ "

    ti esce in quanto cerchi di salvare la nuova immagine sovrascrivendo l'originale (ancora aperto) e non puoi (bachetto del GDI)

    se vuoi visualizzarla la devi salvare sullo stream di output (come fa la versione in C# che hai postato) quindi

    objBitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
    "...non è detto che sia tardi se non guardi che ora è..."

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    Ok Grazie mille!!
    Non capivo che era un errore per quanto riguarda la scrittura su un file esistente

    Ho provveduto a creare il file con un nome temporaneo e a cancellarlo poi a lavoro ultimato

    Grazie e ciao!
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

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.