Pro*_*bar 3 c# photoshop image ppi
例如,C#表示所选图像包含96 ppi,而Photoshop中的相同图像包含72 ppi.
为什么会有区别?
在这种情况下,我倾向于相信Photoshop,以及如果C#返回错误结果,如何测试图像分辨率?
我们需要构建某种验证器控件,使用ppi!= 300拒绝所有图像.
控件应支持以下格式:jpg,jpeg,gif,png,bmp.
代码如下:
Image i = Image.FromFile(FileName);
Console.Write(i.VerticalResolution);
Console.Write(i.HorizontalResolution);
Run Code Online (Sandbox Code Playgroud)
DPI表示每英寸点(像素).基于当前显示器的大小和分辨率,以英寸为单位的物理尺寸是主观的.除非你依赖于元数据(gif和bmp不包含),否则你无法可靠地计算它.
Photoshop只有一个DPI的规定值,它在翻译图像进行打印时使用.此值存储在PSD文件中,可以复制到JPEG元数据,但如果以不带DPI元数据的格式保存图像,则不会存储该信息.
更新:
您的代码获得不同值的原因是C#从计算机上的当前DPI设置中获取其值VerticalResolution和HorizontalResolution值.Photoshop的DPI用于打印,因此如果要将图像发送到打印机,它会知道物理尺寸.它的默认值为72dpi,但您可以更改此值.但是,该值在屏幕上没有意义,因为屏幕仅以像素为单位.
| 归档时间: |
|
| 查看次数: |
1625 次 |
| 最近记录: |