我正在加载图像文件硬盘驱动器的二进制字节并将其加载到位图对象中。我如何从位图对象中找到图像类型 [JPEG、PNG、BMP 等]?
看起来微不足道。但是,想不通!
是否有替代方法?
感谢您的回复。
更新后的正确解决方案:
@CMS:感谢您的正确回复!
实现此目的的示例代码。
using (MemoryStream imageMemStream = new MemoryStream(fileData))
{
using (Bitmap bitmap = new Bitmap(imageMemStream))
{
ImageFormat imageFormat = bitmap.RawFormat;
if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
//It's a JPEG;
else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png))
//It's a PNG;
}
}
最佳答案
如果你想知道图像的格式,你可以用Image加载文件。类,并检查其 RawFormat属性:
using(Image img = Image.FromFile(@"C:\path\to\img.jpg"))
{
if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
{
// ...
}
}
关于c# - 在 C# 中使用位图对象查找图像格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1397512/