Hej Hej igen.. objGraphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic tack!.GetThumbnailImage
Nu har jag lite fler frågor om binär fil (från tex databasen) till en Image eller en Bitmap.
Det jag vill göra är att få möjligheten att ändra storlek på bilden (GetThumbnailImage)
så att jag kan ladda upp en stor bild (1-2 MB) men vill förstås inte ha en så stor fil så
jag vill kunna minska ner den till 350x262 pixlar eller nått i den stilen.
Problemet är att kvalitén blir äckligt dålig... Så nått gör jag fel. När jag minskar mina
bilder från tex Adobe Photoshop Elements 2.0 till just 350x262 så blir bilden mindre men
med bibehållen kvalité.
kodexempel
<code>
Dim myMemoryS As New MemoryStream(Img, 0, Img.Length)
Dim dummyCallBack As System.Drawing.Image.GetThumbnailImageAbort
dummyCallBack = New _
System.Drawing.Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
Dim fullSizeImg As System.Drawing.Image
fullSizeImg = System.Drawing.Image.FromStream(myMemoryS)
Dim thumbNailImg As System.Drawing.Image
thumbNailImg = fullSizeImg.GetThumbnailImage(350, 262, _
dummyCallBack, IntPtr.Zero)
myMemoryS = New MemoryStream
thumbNailImg.Save(myMemoryS, thumbNailImg.RawFormat.Jpeg)
ReDim Img(myMemoryS.Length)
Img = myMemoryS.GetBuffer
</code>
Några Ideér på vad jag gör för fel (kan säga att jag inte hållt på så mycket
med GDI+ förut...) :)
Tack
MarcusCSv: GetThumbnailImage
Hittade lösningen på http://www.pellesoft.se/communicate/forum/view.aspx?msgid=99047
Men vad är igentligen skillnaden? på GetThumnailImage och
<code>
Dim objGraphics As Graphics = Graphics.FromImage(objBitmap)
objGraphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
objGraphics.DrawImage(objOrginal, 0, 0, intNyBredd, intNyaHojd)
objOrginal.Dispose()
</code>
//MarcusSv: GetThumbnailImage
interpolationssättet alltså..
copypaste från msdn: "GetThumbnailImage works well when the requested thumbnail image has a size of about 120 x 120. If you request a large thumbnail image (say 300 x 300) from an Image object that has an embedded thumbnail, there could be a noticeable loss of quality in the thumbnail image. It might be better to scale the main image (instead of scaling the embedded thumbnail) by calling DrawImage."Sv: GetThumbnailImage
Jag tar och stänger denna tråd och markerar som löst.
Tack för hjälpen.
Marcus