【问题标题】:How can I find the pixel per inch value in a JPG image?如何在 JPG 图像中找到每英寸像素值?
【发布时间】:2012-09-18 22:05:00
【问题描述】:

我正在尝试验证某些图像不允许低于每英寸 300 像素的图像,有没有办法使用 C# 在 ASP.NET 上找到它?

【问题讨论】:

  • 'Pixels per inch' 并不是一个很好的度量单位。我想你的意思是 DPI。

标签: c# asp.net image jpeg ppi


【解决方案1】:

您必须从图像中读取 EXIF 数据。

这里有一个使用 ExifLib 的示例

ExifLib - A Fast Exif Data Extractor for .NET 2.0+

请注意,并非所有 jpeg 图像都有分辨率信息。而且,即使他们拥有它,您也可以使用完全不同的分辨率打印它们。 IE。可以使用 1 英寸宽为 200dpi 打印 200px 宽的图片。使用 2 英寸打印的相同图像是 100dpi,使用 1/2 英寸打印是 400dpi。

编辑:甚至可以使用本机 .NET 框架 Image.PropertyItems Property

获取此信息

【讨论】:

    【解决方案2】:

    .NET Framework 的Image 对象将为您提供位图(包括 JPG)的 PPI。

    Image image = new Bitmap(@"C:\myimage.jgp");
    float ppi = image.HorizontalResolution; // the image's pixels per inch
    float widthInInches = image.PhysicalDimension.Width / ppi;
    

    似乎对我有用。我能够辨别出我在 PDF 中使用的特定图像是 90 ppi。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      相关资源
      最近更新 更多