gpt4 book ai didi

c# - C#和Photoshop在图像分辨率(ppi)上的区别

转载 作者:行者123 更新时间:2023-11-30 14:01:19 32 4
gpt4 key购买 nike

例如,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);

最佳答案

DPI 表示每英寸的点数(像素)。根据当前显示器的尺寸和分辨率,以英寸为单位的物理尺寸是主观的。除非您依赖元数据(gif 和 bmp 不包含),否则您无法可靠地计算出这一点。

Photoshop 只是有一个规定的 DPI 值,它在翻译图像以供打印时使用该值。此值存储在 PSD 文件中,并且可能会复制到 JPEG 元数据中,但如果您以没有 DPI 元数据的格式保存图像,则不会存储该信息。

更新:

您的代码获得不同值的原因是 C# 从计算机上的当前 DPI 设置中获取其 VerticalResolutionHorizo​​ntalResolution 值。 Photoshop 的 DPI 用于打印,因此如果您想将图像发送到打印机,它会知道物理尺寸。它的默认值为 72dpi,但您可以更改它。但是,该值在屏幕上没有任何意义,因为屏幕只处理像素。

关于c# - C#和Photoshop在图像分辨率(ppi)上的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8506031/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com