将图像格式从.bmp转换为vb.net中的其他图像格式

时间:2009-09-06 01:27:20

标签: vb.net image-manipulation

如何将System.Drawing.Bitmap图像转换为其他类型的图像?我尝试了失败的CType,因为我不知道.png或.jpg的类型。我无法在谷歌的任何地方找到它。

在保持图像质量尽可能高的同时,最有效的方法是什么?

3 个答案:

答案 0 :(得分:8)

system.Drawing.Bitmap类可以处理打开和保存任何类型的bitmap图像,包括JPG,PNG,GIF,BMP等。

要将已打开的文件另存为其他格式,可以使用save方法

MyImage.Save("ImageName.jpg",System.Drawing.Imaging.ImageFormat.Jpeg)

Bitmp的类名更具体地指的是将图片存储为一系列彩色像素而不是BMP的实际格式的一般概念,这是存储构成图像的像素的表示的一种可能方式

答案 1 :(得分:2)

查看Drawing.Bitmap.Save()方法。我建议保存为PNG - 它是无损的并且实现了合理的压缩。请参阅Imaging.ImageFormat枚举 - 这是您指定所需图像类型的方式。

答案 2 :(得分:0)

这是如何在不保存到VB.NET中的文件的情况下转换图像类型的方法 您也许也可以将其移植到C#中,但我尚未对其进行测试。

Public Function ConvertImageType(Image As Bitmap, Format As 
    Drawing.Imaging.ImageFormat) As Byte()
        'Declare a new memory stream to write to
        Dim SaveStream As New IO.MemoryStream
        'Save the bitmap/image to the memory stream in the desired format
        Image.Save(SaveStream, Format)
        'Extract the file bytes from the memory stream
        Dim ConvertedImageBytes() As Byte = SaveStream.ToArray
        'Return bytes to caller
        Return ConvertedImageBytes
    End Function

此方法可以将位图/图像类型转换为以下格式:Jpeg,Png,Bmp,Ico,Gif,Emf,Exif,Tiff和Wmf。