c# - 在 C# 中使用位图对象查找图像格式

标签 c# .net image

我正在加载图像文件硬盘驱动器的二进制字节并将其加载到位图对象中。我如何从位图对象中找到图像类型 [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/

相关文章:

c# - 在 C# 中从队列中出列字节的最有效方法

c# - 在命令处理程序中的光标处获取 Roslyn SyntaxNode

c# - Mono 2.8.2 和加载 PNG 文件

c# - 什么时候应该使用 `out` 参数而不是返回复杂类型?

java - 为 Swing HTML 从 jars 加载图像

c# - 在启动时加载所有本地化资源

c# - .NET 跟踪不适用于 Diagnostics.TraceSource,仅适用于 Diagnostics.Trace

.net - 当我们使用 ajax 时到底发生了什么

php - 使用 Lanczo 算法调整 Web 图像大小 - 我应该使用哪种语言?

html - 在两列中设置的裁剪图像