Om jag skapar ett nytt bitmapobjekt så här: Då tar vi en titt i hjälpen... Kanske inte hjälper men här kommer lite kod för att skapa en tumbnail som jag använde för ett tag sen Det är ungefär så som jag har gjort. Fast resultatet blir en PNG, 32-bitars bild, som är mycket större än vad en 24 bitars JPG-bild skulle vara.Skum bildhantering
<code>Dim myBitMap As New System.Drawing.Bitmap("c:\mypic.jpg")</code>
så inträffar nåt märkligt. Bilden som är en 24bitars jpeg-bild, blir en 32 bitars png-bild!
Hur gör jag för att få detta objekt att ha samma format som den bild som jag läser in? Jag kommer att läsa in olika bilder, så bitmapobjektet kan ha olika format från gång till annan - dock ska formatet ALLTD vara detsamma som den inlästa filen!!!
Detta verkar vara omöjligt att göra om jag inte använder tredjepartsprodukt!
/MSv: Skum bildhantering
Jag sköte på System.Draing.BitMap och kollade under konstruktorn för klassen.
Då finns en konstruktor som tar emot en PixelFormatEnumeration. Jag är övertygad om att det är denna du ska använda.
Kan dock inte säga vilken av enumreringarna du ska använda eftersom jag inte kan bildiska..
Annars har jag för mig att om du skapar ett graphics-objekt först med hjälp av metoden fromFile så har jag för mig att det hela blir lite bättre.
//MIkael.NETSv: Skum bildhantering
<code>
Public Shared Function CreateTumbNail(ByVal strPath As String, ByVal strFilePath As String)
Dim Exstension As String = GetExtension(strFilePath)
Dim strtumbnail As String = strPath & GetName(strFilePath) & "-tumbnail." & GetExtension(strFilePath)
Dim TIA As System.Drawing.Image.GetThumbnailImageAbort
Dim imgFormat As Imaging.ImageFormat
Dim mImage As System.Drawing.Image
Select Case Exstension
Case "jpg"
imgFormat = Imaging.ImageFormat.Jpeg
Case "gif"
imgFormat = Imaging.ImageFormat.Gif
Case "bmp"
imgFormat = Imaging.ImageFormat.Bmp
End Select
mImage = mImage.FromFile(strFilePath)
Dim btm As New Bitmap(mImage)
mImage.Dispose()
mImage = btm
mImage = mImage.GetThumbnailImage(100, 100, TIA, IntPtr.Zero)
mImage.Save(strtumbnail, imgFormat)
End Function
</code>Sv: Skum bildhantering
/M