Halloj, håller på att bygga ett bildgalleri och har lyckats få till det så att man laddar upp en JPEG eller GIF. För framtida referens. inga problem!Klippa och förminska bilder för bildgalleri.
Har också fått till så att när du visar galleriet så minskar den ner bilderna till tumnaglar med följande kod:
<code>
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim imageUrl As String = Request.QueryString("i")
Dim imageHeight As Integer = 100
Dim imageWidth As Integer = 100
If imageUrl.IndexOf("/") >= 0 Or imageUrl.IndexOf("\") >= 0 Then
Response.End()
End If
imageUrl = "imglib/" & imageUrl
Dim fullSizeImg As System.Drawing.Image
fullSizeImg = System.Drawing.Image.FromFile(Server.MapPath(imageUrl))
Response.ContentType = "image/jpeg"
If imageHeight > 0 And imageWidth > 0 Then
Dim dummyCallBack As System.Drawing.Image.GetThumbNailImageAbort
dummyCallBack = New _
System.Drawing.Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
Dim thumbNailImg As System.Drawing.Image
thumbNailImg = fullSizeImg.GetThumbnailImage(imageWidth, imageHeight, _
dummyCallBack, IntPtr.Zero)
thumbNailImg.Save(Response.OutputStream, ImageFormat.Jpeg)
ThumbnailImg.Dispose()
Else
fullSizeImg.Save(Response.OutputStream, ImageFormat.Jpeg)
End If
fullSizeImg.Dispose()
End Sub
</code>
Nu undrar jag dock, finns det något sätt att först klippa ner bilderna så de blir kvadratiska och SEN minska ner dem till 100x100 px? Dessa bilder behöver inte sparas utan som nu, skickas över via en response.outputstream.
//JohannesSv: Klippa och förminska bilder för bildgalleri.
http://www.smartpanda.com/ViewArticle.aspx?ID=7Sv: Klippa och förminska bilder för bildgalleri.
Det du behöver göra är bara bestämma enligt vilken regel bilden skall beskäras.
Jag föreslår föjande:
beskär bilden längs längsta axeln så att kortaste axeln förblir intakt medans
den längsta beskärs med halva skillnaden (mellan axlarna) i vardera ände, så att bildens
centrumpunkt förblir just det! ;)
och koden? sök på [ vb.net och crop ] i google!
kolla in denna länk t.ex.
http://www.a1vbcode.com/app-3632.asp