Shared Function dummy() As Boolean
Return False ' このメソッドの内容は何でもよい
End Function
……
Dim orig As Image = Image.FromFile("sample.jpg")
Dim thumbnail As Image = orig.GetThumbnailImage(120, 90, _
New Image.GetThumbnailImageAbort(AddressOf dummy), IntPtr.Zero)
Shared Function dummy() As Boolean
Return False ' このメソッドの内容は何でもよい
End Function
' GetThumbnailImageメソッドの利用
Shared Function CreateThumbnail1(ByVal orig As Image, ByVal w As Integer, ByVal h As Integer) As Image
Return orig.GetThumbnailImage(w, h, New Image.GetThumbnailImageAbort(AddressOf dummy), IntPtr.Zero)
End Function
' DrawImageメソッドの利用(高品質)
Shared Function CreateThumbnail2(ByVal orig As Image, ByVal w As Integer, ByVal h As Integer) As Image
Dim thumbnail As Bitmap = New Bitmap(w, h)
Using g As Graphics = Graphics.FromImage(thumbnail)
g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
g.DrawImage(orig, 0, 0, w, h)
End Using
Return thumbnail
End Function
' Bitmapクラスのコンストラクタを利用
Shared Function CreateThumbnail3(ByVal orig As Image, ByVal w As Integer, ByVal h As Integer) As Image
Return New Bitmap(orig, w, h)
End Function
Shared Sub Main()
Dim orig As Image = Image.FromFile("sample.jpg")
Dim thumbnail1 As Image = CreateThumbnail1(orig, orig.Width / 20, orig.Height / 20)
thumbnail1.Save("thumbnail1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
End Sub
End Class