6

我们的客户将上传要打印在他们文档上的图像,我们被要求想出一种方法来获取图像的分辨率,以便在图像分辨率太低并且在成品

如果涉及到它,如果有人知道如何获得这些尺寸,我们也可以使用尺寸,但分辨率将是首选

谢谢

4

4 回答 4

13

System.Drawing.Image

Image newImage = Image.FromFile("SampImag.jpg");
newImage.HorizontalResolution
于 2008-09-23T21:01:12.747 回答
8

这取决于您要查找的内容...如果您想要图像的 DPI,那么您正在寻找作为图像 DPI 的 Horizo​​ntalResolution。

Image i = Image.FromFile(@"fileName.jpg");
i.HorizontalResolution;

如果要弄清楚图像有多大,则需要计算图像的测量值,即:

int docHeight = (i.Height / i.VerticalResolution);
int docWidth = (i.Width / i.HorizontalResolution);

这将为您提供以英寸为单位的文档高度和宽度,然后您可以将其与所需的最小尺寸进行比较。

于 2008-09-23T21:20:53.820 回答
3

DPI 仅在打印时才有意义。72dpi 是 Mac 标准,96dpi 是 Windows 标准。屏幕分辨率仅考虑像素,因此 72dpi 800x600 jpeg 与 96dpi 800x600 像素的屏幕分辨率相同。

回到 80 年代,Mac 使用 72dpi 屏幕/打印分辨率来适应屏幕/打印尺寸,因此当您在屏幕上以 1:1 显示图像时,它对应于打印机上的相同尺寸。Windows 将屏幕分辨率提高到 96dpi 以获得更好的字体显示。但结果,屏幕图像不再适合打印尺寸。

因此,对于 Web 项目,如果图像不用于打印,请不要使用 DPI;72dpi、96dpi,甚至 1200dpi 都应该显示相同。

于 2010-05-04T14:21:43.613 回答
2
Image image = Image.FromFile( [file] );
GraphicsUnit unit = GraphicsUnit.Point;
RectangleF rect = image.GetBounds( ref unit );
float hres = image.HorizontalResolution;
float vres = image.VerticalResolution;
于 2008-09-23T21:03:27.623 回答