c# - 在 .NET 中提取有关 PNG 的图像信息

标签 c# image metadata

我正在尝试获取有关 PNG 文件的信息,但我还没有找到一个全面的网站来帮助我。

这些是我拥有的一些半有用的代码片段:

Bitmap bmp = new Bitmap(pngFileName);
BitmapData bd = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly,PixelFormat.Format48bppRgb);

Stream imageStreamSource = new FileStream(pngFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
var decoder = new PngBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);

BitmapSource bitmapSource = decoder.Frames[0];

通过这些我已经能够获得图像的高度和宽度。但是我仍然需要发现以下信息:

  • 它是 RLE 编码的吗?
  • 它是原生视频格式吗?
  • 是否旋转?
  • 它是否使用灰度调色板?
  • 它有透明度吗?
  • 是 RGB 还是 BGR?

我非常感谢一些关于如何实现这一点的指示或指向处理此问题的好文章的链接。我们正在使用 .NET 4.0

最佳答案

我不确定这是否对您有帮助,但到目前为止,我所看到的最好的方法是在一个循环中逐个像素地遍历图像并完成您的不同任务。

有关示例,请参阅这些答案:

关于c# - 在 .NET 中提取有关 PNG 的图像信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772879/

相关文章:

python - 在 Python 中更改文件元数据

php - 通过 php 将元数据附加到新创建的图像?

c# - 如何以编程方式安全关闭 Google Chrome

CSS:列表样式图像的定位

c++ - 使用类旋转图像

javascript - 显示随机背景图像

c# - 检查对象是否可以转换为特定值类型?

c# - C# 的 DocuSign 和 PDF/ITextSharp 定位问题

c# - 从 JSON 获取属性名称

database - 存储+元数据的跨平台框架?