0

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

4

2 回答 2

1

.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。

于 2014-05-13T14:47:55.563 回答
1

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

在这里,您有一个使用 ExifLib 的示例,说明如何做到这一点

ExifLib - 用于 .NET 2.0+ 的快速 Exif 数据提取器

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

编辑:甚至可以使用本机 .NET 框架Image.PropertyItems 属性获取此信息

于 2012-09-18T23:23:15.937 回答