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

    Watermark + Save su Disco

    Salve a tutti,
    sto imparando ASP.net, ma ho necessità urgente di fare utilizzare il watermark di un'immagine con un testo e salvare il tutto su disco.
    Chi mi puo' aiutare?

    Ecco lo script che uso :
    codice:
    <script runat="server">
    
        ' Insert page code here
        '
    
    </script>
    <%@ Page Explicit="True" Language="VB" Debug="True" %>
    <%@ Import Namespace="system.drawing" %>
    <%@ Import Namespace="system.drawing.imaging" %>
    <%@ Import Namespace="system.drawing.drawing2d" %>
    <%@ Import Namespace="system.io" %>
    <script runat="server">
    
      dim Filename, Filename1 as String
      dim Width, Height, shadowSize as Integer
      dim Bitmap as system.drawing.bitmap
      dim ImgFormat as ImageFormat
      dim Img as System.Drawing.Image
      Dim baseMap as Bitmap
    	dim top, left as Integer
    sub CreateGraphic()
    	Dim letterBrush as SolidBrush = new SolidBrush(Color.FromArgb(0, 159, 5, 5))
    	Dim shadowBrush as SolidBrush = new SolidBrush(Color.FromArgb(50, 0, 0, 0))
    	Dim fontTitle as Font = new Font("Arial", 20, FontStyle.Bold)
    	Filename = "foto/" & Request.QueryString("filename")
    	Filename = server.mappath(Filename)
    	Filename1 = "foto/test01.jpg"
    	Filename1 = server.mappath(Filename1)
    	ImgFormat = ImageFormat.jpeg : response.contenttype="image/jpeg"  ' Default=jpeg '
    	Img = system.drawing.image.FromFile(Filename)
    	Width  = Img.Width
    	Height = Img.Height
      	baseMap = new Bitmap(Width,Height)
      	Dim myGraphic as Graphics = Graphics.FromImage(baseMap)
      	with myGraphic
    		.DrawImage(Img, 0,0, Width,Height)
    		.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
    		.DrawString("miotesto.com", fontTitle, shadowBrush, 5, 60)
    		.DrawString("miotesto.com", fontTitle, letterBrush, 7, 62)
    	end with
    	Img.dispose()
    
    end sub
    </script>
    <%
    CreateGraphic
    baseMap.Save(Filename, ImageFormat.JPEG)
    baseMap.dispose()
    Img = Nothing
    response.end
    %>
    Quando uso questo script, ottengo il seguente errore :
    codice:
    Errore generico in GDI+. 
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack. 
    
    Dettagli eccezione: System.Runtime.InteropServices.ExternalException: Errore generico in GDI+.
    
    Errore nel codice sorgente: 
    
    
    Riga 45: <%
    Riga 46: CreateGraphic
    Riga 47: baseMap.Save(Filename, ImageFormat.JPEG)
    Riga 48: baseMap.dispose()
    Riga 49: Img = Nothing
     
    
    File sorgente: C:\Inetpub\wwwroot\mytestsyte\watermark.aspx    Riga: 47 
    
    Analisi dello stack: 
    
    
    [ExternalException (0x80004005): Errore generico in GDI+.]
       System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams) +579
       System.Drawing.Image.Save(String filename, ImageFormat format) +59
       ASP.watermark_aspx.__Render__control1(HtmlTextWriter __output, Control parameterContainer) in C:\Inetpub\wwwroot\mytestsyte\watermark.aspx:47
       System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
       System.Web.UI.Control.Render(HtmlTextWriter writer) +7
       System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
       System.Web.UI.Page.ProcessRequestMain() +1929
    Cosa puo' essere?
    HELP!!!!
    Veloce,Affidabile,Economico : Scegline 2

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

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    Nessuno sa aiutarmi????
    Veloce,Affidabile,Economico : Scegline 2

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    ImgFormat = ImageFormat.jpeg : response.contenttype="image/jpeg" ' Default=jpeg '
    cos'è sta cosa con i due punti in mezzo?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    ehm.... di Asp.net ne capisco pochissimo e ho beccato questo script che in pratica faceva l'output direttamente a video.

    Ho modificato questa linea :
    codice:
    baseMap.Save(response.outputstream, ImageFormat.JPEG)
    con questa

    codice:
    baseMap.Save(Filename, ImageFormat.JPEG)
    Ma non salva l'immagine con il marchio.
    Se invece lascio inalterato il "Response.OutputStream", l'immagine la vedo correttamente marchiata ( in pratica la marchia al volo ).

    Quella linea che mi hai mostrato non so proprio a cosa serva....

    Penso ( dato che conosco bene ASP 3 ), che siano 2 comandi su una sola riga.

    Ma quell'errore che esce a video, cosa significa?
    Veloce,Affidabile,Economico : Scegline 2

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    metti
    codice:
    baseMap.Save(Filename, ImageFormat.JPEG)
    baseMap.dispose()
    Img = Nothing
    response.end
    dentro alla sub

    cmq ti da errore xkè tu stai cercando di sovrascrivere il file..
    due possibilità: o lo scrivi in una cartella diversa oppure cancelli il file originale e poi usi baseMap.Save()

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    Non funziona....
    in pratica non mi crea ne l'immagine nuova ( ho sostituito filename con filename1...se controlli nel codice da me postato, vedi che si chiama in maniera differente da quella che invio sul server ), ne mi da errore.

    Perche'?

    Aiutatemi!!
    Veloce,Affidabile,Economico : Scegline 2

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

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    cosi va
    codice:
    <%@ Page Explicit="True" Language="VB" Debug="True" %>
    <%@ Import Namespace="system.drawing" %>
    <%@ Import Namespace="system.drawing.imaging" %>
    <%@ Import Namespace="system.drawing.drawing2d" %>
    <%@ Import Namespace="system.io" %>
    <script runat="server">
    
      dim Filename, Filename1 as String
      dim Width, Height, shadowSize as Integer
      dim Bitmap as system.drawing.bitmap
      dim ImgFormat as ImageFormat
      dim Img as System.Drawing.Image
      Dim baseMap as Bitmap
    	dim top, left as Integer
    sub CreateGraphic()
    	Dim letterBrush as SolidBrush = new SolidBrush(Color.FromArgb(0, 159, 5, 5))
    	Dim shadowBrush as SolidBrush = new SolidBrush(Color.FromArgb(50, 0, 0, 0))
    	Dim fontTitle as Font = new Font("Arial", 20, FontStyle.Bold)
    	Filename = "test00.jpg"
    	Filename = server.mappath(Filename)
    	Filename1 = "test01.jpg"
    	Filename1 = server.mappath(Filename1)
    	ImgFormat = ImageFormat.jpeg : response.contenttype="image/jpeg"  ' Default=jpeg '
    	Img = system.drawing.image.FromFile(Filename)
    	Width  = Img.Width
    	Height = Img.Height
      	baseMap = new Bitmap(Width,Height)
      	Dim myGraphic as Graphics = Graphics.FromImage(baseMap)
      	with myGraphic
    		.DrawImage(Img, 0,0, Width,Height)
    		.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
    		.DrawString("miotesto.com", fontTitle, shadowBrush, 5, 60)
    		.DrawString("miotesto.com", fontTitle, letterBrush, 7, 62)
    	end with
    	Img.dispose()
    	baseMap.Save(Filename1, ImageFormat.JPEG)
    	'baseMap.Save(response.outputstream, ImageFormat.JPEG)
    	baseMap.dispose()
    	Img = Nothing
    	response.end
    
    end sub
    </script>
    <%
    CreateGraphic
    
    %>
    (occhio che ho modificato il contenuto di Filename e FIlename1)

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    Mi da questo errore ora :

    codice:
    Errore server nell'applicazione '/'.
    --------------------------------------------------------------------------------
    
    Errore di runtime 
    Descrizione: Errore di un'applicazione sul server. Per motivi di sicurezza, le attuali impostazioni personalizzate relative agli errori dell'applicazione impediscono di visualizzare in modalità remota ulteriori dettagli sull'errore riscontrato. Tali dettagli possono essere tuttavia visualizzati nei browser eseguiti localmente sul server. 
    
    Dettagli: Per attivare la visualizzazione dei dettagli di questo messaggio di errore specifico sul server remoto, creare un tag <customErrors> in un file di configurazione "web.config" memorizzato nella directory principale dell'applicazione Web corrente. L'attributo "mode" del tag <customErrors> deve essere impostato su "Off".
    
    
    
    
    <configuration>
        <system.web>
            <customErrors mode="Off"/>
        </system.web>
    </configuration>
     
    
    Note: È possibile personalizzare la pagina di errore corrente modificando l'attributo "defaultRedirect" del tag di configurazione <customErrors> dell'applicazione in modo che punti all'URL di una pagina di errore personalizzata.
    
    
    
    
    <configuration>
        <system.web>
            <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
        </system.web>
    </configuration>
    (Ho copiato e incollato il tuo codice e ho modificato Filename e Filename1 con quelli che interessano a me )
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.