首页 > 解决方案 > 在cpp中获取图像的公制尺寸

问题描述

我想从 C++ 中的图像中读取公制尺寸。在 Octave 中我可以做到这一点:

IM.info = imfinfo(path_to_image);
IM.info.ResolutionUnit
IM.info.XResolution
IM.info.YResolution 

例如,当我在 Inkscape 上导出 PNG 时,我指定了 DPI 和图像的像素大小。那么这些信息应该在元数据中可用吗?我找到了许多关于如何读取像素大小的示例,但没有一个可以读取度量信息。做这个的最好方式是什么?

标签: c++imagesizemetrics

解决方案


C++ 标准库没有读取 PNG 文件的功能。您将需要解析文件。

根据规范第 11 章 PNG 选项和扩展,相关块应该是物理像素尺寸 (pHY)。


推荐阅读