28 messaggi dal 23 febbraio 2005
Ciao a tutti,
vi posto l'intero codice di una pagina che creato per generare delle miniature. Non riesco a capire perchè non funziona.

Imports System
Imports System.Net
Imports System.IO
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Drawing.Drawing2D

Namespace MySite

    Partial Public Class Thumbnail
        Inherits System.Web.UI.Page

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
            Try
                Dim strPath As String = Request.QueryString("p")
                Dim strHeight As Integer = Request.QueryString("h")
                Dim strWidth As Integer = Request.QueryString("w")

                Dim img As Image = Me.GetImage(strPath)
                Dim format As ImageFormat = img.RawFormat
                Dim size As Size = Me.ThumbSize(img.Width, img.Height, Convert.ToInt16(strWidth))
                Dim bitmap As New Bitmap(size.Width, size.Height)

                Dim graphics As Graphics = graphics.FromImage(bitmap)
                graphics.SmoothingMode = SmoothingMode.HighQuality
                graphics.InterpolationMode = InterpolationMode.HighQualityBicubic
                graphics.DrawImage(img, 0, 0, size.Width, size.Height)

                MyBase.Response.ContentType = Me.GetContentType(format)

                Dim stream As New MemoryStream
                bitmap.Save(stream, format)
                stream.WriteTo(MyBase.Response.OutputStream)

                img.Dispose()
                bitmap.Dispose()
            Catch ex As Exception
                MyBase.Response.ContentType = "image/jpeg"
                Dim img As Image = Image.FromFile(Server.MapPath("~/Images/Thumbnail.jpg"))
                Dim bitmap As New Bitmap(40, 40)
                Dim stream As New MemoryStream
                bitmap.Save(stream, ImageFormat.Jpeg)
                stream.WriteTo(MyBase.Response.OutputStream)
                img.Dispose()
                bitmap.Dispose()
            End Try
        End Sub

        Private Function ThumbSize(ByVal currentWidth As Integer, ByVal currentHeight As Integer, ByVal newWidth As Integer) As Size
            Dim num As Double
            If currentWidth > newWidth Then
                num = Convert.ToDouble(newWidth) / CDbl(currentWidth)
            Else
                num = 1
            End If
            Return New Size(Convert.ToInt16(CDbl((currentWidth * num))), Convert.ToInt16(CDbl((currentHeight * num))))
        End Function

        Private Function GetContentType(ByVal imageFormat As ImageFormat) As String
            If imageFormat.Equals(imageFormat.Bmp) Then
                Return "image/bmp"
            End If
            If imageFormat.Equals(imageFormat.Gif) Then
                Return "image/gif"
            End If
            If imageFormat.Equals(imageFormat.Jpeg) Then
                Return "image/jpeg"
            End If
            If imageFormat.Equals(imageFormat.Png) Then
                Return "image/png"
            End If
            Return ""
        End Function

        Private Function GetImage(ByVal strPath As String) As Image
            If (strPath.IndexOf("http://") > -1) Or (strPath.IndexOf("https://") > -1) Then
                Try
                    Dim request As HttpWebRequest = DirectCast(WebRequest.Create(strPath), HttpWebRequest)
                    request.Credentials = CredentialCache.DefaultCredentials
                    Dim response As HttpWebResponse = DirectCast(request.GetResponse, HttpWebResponse)
                    Return Image.FromStream(response.GetResponseStream)
                Catch ex As Exception
                    Return Image.FromFile(Server.MapPath("~/Images/Thumbnail.jpg"))
                End Try
            End If
            Return Image.FromFile(Server.MapPath(strPath))
        End Function

    End Class

End Namespace


Qualcuno riesce a capire dove sta l'errore?
Grazie mille!
Luca
492 messaggi dal 08 gennaio 2007
si ok, ma non funziona cosa?
28 messaggi dal 23 febbraio 2005
Vmark ha scritto:
si ok, ma non funziona cosa?

Ciao,
non viene visualizzata l'immagine, la classica x rossa.
3.939 messaggi dal 28 gennaio 2003
L'ho provato e funziona

in una pagina html

<img alt="" src="http://localhost/ArchivioEsempi8/prove/Thumbnail.aspx?w=800&p=http://static.panoramio.com/photos/original/216697.jpg" /> 


vedo perfettamento l'immagine
Modificato da pietro09 il 29 gennaio 2010 20.16 -
Modificato da pietro09 il 29 gennaio 2010 20.17 -
28 messaggi dal 23 febbraio 2005
pietro09 ha scritto:
L'ho provato e funziona

in una pagina html

<img alt="" src="http://localhost/ArchivioEsempi8/prove/Thumbnail.aspx?w=800&p=http://static.panoramio.com/photos/original/216697.jpg" /> 


vedo perfettamento l'immagine
Modificato da pietro09 il 29 gennaio 2010 20.16 -
Modificato da pietro09 il 29 gennaio 2010 20.17 -


Eh?
E perchè a me non funziona? Cosa potrebbe influire?
3.939 messaggi dal 28 gennaio 2003
Non so cosa potrebbe essere. So solo che ho provato per curiosità e sono rimasto sorpreso che vada. Io andrei in debug passo-passo. Di più non so.
Ciao.
Occhio al caching del browser, che spesso e volentieri in questi casi (handler che restituiscono immagini) ti fa vedere ciò che non è

Ciao,
m.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.