本文介绍了使用位图对象在C#中查找图像格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我加载图像文件的硬盘驱动器的二进制字节,并加载到一个位图对象。如何找到图像类型[JPEG,PNG,BMP等]从位图对象?
看起来微不足道的。但是,不能看着办吧!
是否有其他方法吗?
鸭preciate你的回应。
修订正确的解决方法:
@CMS:感谢您的正确的响应
样品code来实现这一点。
使用(MemoryStream的imageMemStream =新的MemoryStream(的FileData))
{
使用(位图位图=新位图(imageMemStream))
{
的imageformat的imageformat = bitmap.RawFormat;
如果(bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
//这是一个JPEG;
否则,如果(bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png))
//这是一个PNG;
}
}
解决方案
如果你想知道的图像格式,可以加载使用的类,并检查它的属性:
使用(图片IMG = Image.FromFile(@C:\路径\到\ img.jpg))
{
如果(img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
{
// ...
}
}
I am loading the binary bytes of the image file hard drive and loading it into a Bitmap object. How do i find the image type[JPEG, PNG, BMP etc] from the Bitmap object?
Looks trivial. But, couldn't figure it out!
Is there an alternative approach?
Appreciate your response.
UPDATED CORRECT SOLUTION:
@CMS: Thanks for the correct response!
Sample code to achieve this.
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;
}
}
解决方案
If you want to know the format of an image, you can load the file with the Image class, and check its RawFormat property:
using(Image img = Image.FromFile(@"C:\path\to\img.jpg"))
{
if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg))
{
// ...
}
}
这篇关于使用位图对象在C#中查找图像格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!