找回密码
 立即注册

QQ登录

只需一步,快速开始

leadcom

论坛元老

24

主题

96

帖子

2万

积分

论坛元老

积分
27812

活字格认证

leadcom
论坛元老   /  发表于:2015-8-29 12:08  /   查看:5888  /  回复:3
同一张图片,使用Leadtools的API读取分辨率和windows读取的分辨率是不同的,如下所示:
1.        在Windows下,查看这张图片的属性,分辨率为96dpi,如图:


2.        通过leadtools通过的API去读取这张图片,使用RasterImage.XResolution和RasterImage..YResolution获取dpi的值为150dpi,如图:



为什么不一样,我调用Leadtools的API有错误的吗?问题出在哪里?

另外发现的问题:
附2张图片,一张03.jpeg,一张2015-1-0001-002-001.01-.jpg,
03.jpeg是数码相机拍的用Leadtools读取的和Windows读取是一致的。
2015-1-0001-002-001.01-.jpg是网上下载的,用Leadtools读取的和Windows读取却不一致。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-8-31 15:17:00
沙发
回复 1楼leadcom的帖子

问题我们已经查收,不过通过PS获取分辨率为72,LeadTools获取DPI的工作原理我需要和厂商沟通,有进一步消息通知你。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-9-8 09:39:00
板凳
回复 1楼leadcom的帖子

你好,
以下代码用于测试图片是否包含 DPI:

  1. RasterCodecs _codecs = new RasterCodecs();
  2. CodecsImageInfo _Info = _codecs.GetInformation(@"C:\Test\2015-1-0001-002-001.01-.jpg", false);
  3. MessageBox.Show("Has DPI: " + _Info.HasResolution.ToString());
复制代码


获取值为 False,表示测试图片没有 DPI,所以每个图像查看器都会返回其默认的 DPI,这就是为什么 Windows 显示为 96 而 LeadTools 显示为 150 的原因了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-9-17 09:15:00
地板
回复 1楼leadcom的帖子

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部