webForumDet fria alternativet

spara bild!

19 svar · 641 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 099 inlägg
#1

hur stänger jag av responsen till webbläsaren så att jag kan få ut html istället?

 thumb = orginalimg.GetThumbnailImage(width, height, Nothing, inp)

        ' Sending Response JPEG type to the browser. 
	'Response.ContentType = "image/jpeg"
       thumb.Save(Response.OutputStream, Imaging.ImageFormat.Jpeg)
renholmMedlem sedan apr. 20012 266 inlägg
#2

Tror inte du kan få bild och HTML från samma ASP.NET sida samtidigt, måste delas upp på så sätt att du har en sida som svara med html och en annan som hanterar bilden.

jboy_87Medlem sedan aug. 20011 099 inlägg
#3

så jag måste spara bilden och sedan ta ut den med HTML eller?

PDahlenMedlem sedan apr. 2004778 inlägg
#4

Vad är det du försöker göra?
Laddar du upp en fil eller?
I så fall gör du själva sparandet med den inbyggda funktionaliteten som finns. Du behöver inte sätta ContentType. Sedan när filen är sparad gör du antingen en redirect till en annan sida som visar bilden eller så visar du bilden på den sidan som laddat upp den.

PDahlenMedlem sedan apr. 2004778 inlägg
#5

Rättar mig själv.

Eftersom det är en thumbnail du gör så ska du sätta koden ovan i en .aspx fil. Sedan använder du den .aspx filen som ImageURL i en Image kontroll på den sida som skall visa bilden.

jboy_87Medlem sedan aug. 20011 099 inlägg
#6

det är en thumbnail jag gör!
men vad ska jag skriva på image src??
[kod]
???
'thumb.Save(Response.OutputStream, Imaging.ImageFormat.Jpeg)

    ' Disposing the objects.
    orginalimg.Dispose()
    thumb.Dispose()

End Sub
</script>
[kod]

<form runat="Server">
<asp:Image id="Image1" runat="server" Width="165px"></asp:Image>
</form>

PDahlenMedlem sedan apr. 2004778 inlägg
#7

Kolla på den här artikeln http://www.developer.com/net/asp/article.php/3098311
Vad det handlar om är att du ska ha två aspx sidor. Den ena genererar en thumbnail av en bild som du skickar in filnamnet på. Du sätter då ContentType till image.
I den aspx sidan du ska visa bilden sätter du mintumme.aspx?filename=myImage.jpg som ImageUrl.

jboy_87Medlem sedan aug. 20011 099 inlägg
#8

tack ska du ha :) funkar prima!
bilderna blir till dålig kvalitet när man läser av dem varför?

renholmMedlem sedan apr. 20012 266 inlägg
#9

Beror på att funktionen GetThumbnailImage även skalar ner kvaliten. Något som kan motverkas genom att skriva egen kod för att ändra storlek på bilden. Ska finnas en relativt ny tråd om det i ASP.NET där även lösning finnas att tillgå.

jboy_87Medlem sedan aug. 20011 099 inlägg
#10

hittade ingen tråd om kvaliten?

renholmMedlem sedan apr. 20012 266 inlägg
jboy_87Medlem sedan aug. 20011 099 inlägg
#12

syftar du på den här länken?
den funkar ej?
http://www.dotnetfriends.se/DesktopDefault.aspx?tabid=45

renholmMedlem sedan apr. 20012 266 inlägg
#13

Nej, syftar på mitt inlägg (#837049).

jboy_87Medlem sedan aug. 20011 099 inlägg
#14

gjorde så här men det funkar inte?

   
        Dim strServerPath, strFilename As String
        Dim shtWidth, shtHeight As Short

        Dim TIA As System.Drawing.Image.GetThumbnailImageAbort
        Dim imgFormat As Imaging.ImageFormat
        Dim mImage As System.Drawing.Image

        strServerPath = Server.MapPath("\thumb\bilder\")

        strFilename = strServerPath & Request.QueryString("filename")

        Try
            mImage = mImage.FromFile(strFilename)
        Catch
            mImage = mImage.FromFile(strServerPath & "error.gif")
        End Try

        If Request.QueryString("width") = Nothing Then
            shtWidth = mImage.Width
        Else
            shtWidth = Request.QueryString("width")
        End If

        If Request.QueryString("height") = Nothing Then
            shtHeight = mImage.Height
        Else
            shtHeight = Request.QueryString("height")
        End If

        Response.ContentType = "image/bmp"

        Dim btm As New Bitmap(mImage)
        mImage.Dispose()
        mImage = btm
        mImage = mImage.GetThumbnailImage(shtWidth, shtHeight, TIA, IntPtr.Zero)

        mImage.Save(Response.OutputStream, imgFormat)

        mImage.Dispose()

    End Sub
renholmMedlem sedan apr. 20012 266 inlägg
#15

Vad får du för fel? Ska du använda GetThumbnail i alla fall?

jboy_87Medlem sedan aug. 20011 099 inlägg
#16

jag får inte ut bilden??

filename=jboy_87.bmp&width=256&height=256

jboy_87Medlem sedan aug. 20011 099 inlägg
#17

jag ska använda scriptet för att låta medlemmar beskära sina bilder är det bra och använda getthumbnal eller ska jag köra nånting annat? för de går väldigt segt när man zoomar en bild och sånt!

renholmMedlem sedan apr. 20012 266 inlägg
#18

Är du nöjd med den kvalitén som GetThumbnail erbjuder kan du använda den funktionen, annars använd någon av de som fanns i tråden jag angav tidigare. Sedan bör man också väga in hur mycket kraft den tar i från servern, dvs används funktionen frekvent osv...

Får du något felmeddelande när du inte får ut bilden?

VimpMedlem sedan juli 20022 537 inlägg
#19

Här är två olika exempel på hur du kan köra:

image.aspx?src=bilden.format&width=bredd&height=höjd:

<%@ Page Language="vb" %>
<%@ import namespace="System.Drawing" %>
<%@ import namespace="System.Drawing.Imaging" %>
<script runat="server">
Sub Page_Load()
	response.clear
		Dim strURL As String = Server.MapPath(Request.QueryString("src"))
		Dim intWidth As Integer = CInt(Request.QueryString("width"))
		Dim intHeight As Integer = CInt(Request.QueryString("height"))
		
		dim g as System.Drawing.Image = System.Drawing.Image.FromFile(strURL)
		dim thisFormat = g.rawformat
		dim imgOutput as New Bitmap(g, intWidth, intHeight)
		imgOutput.save(response.outputstream, thisformat)
		
		g.dispose()
		imgOutput.dispose()
	response.end
End Sub
</script>

image.aspx?src=bilden.format&width=bredd:

<%@ Page Language="vb" %>
<%@ import namespace="System.Drawing" %>
<%@ import namespace="System.Drawing.Imaging" %>
<script runat="server">
Sub Page_Load()
	Response.Clear()
		Dim strURL As String = Server.MapPath(Request.QueryString("src"))
		Dim intWidth As Integer = CInt(Request.QueryString("width"))
		Dim g As System.Drawing.Image = System.Drawing.Image.FromFile(strURL)
		Dim intHeight As Integer = (intWidth / g.Width) * g.Height
		Dim thisFormat = g.RawFormat
		Dim imgOutput As New Bitmap(g, intWidth, intHeight)
		
		imgOutput.Save(Response.OutputStream, thisFormat)
		g.Dispose()
		imgOutput.Dispose()
	Response.End()
End Sub
</script>
jboy_87Medlem sedan aug. 20011 099 inlägg
#20

tackar nu förstår man hehe!

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)