如何检查图像质量/分辨率/ dpi / ppi?

时间:2012-11-26 06:56:02

标签: javascript jquery image resolution image-size

我想检查所选输入图像文件的当前质量(分辨率/ dpi / ppi)

我的控件是image uploader jquery插件。

如何获得所选文件的质量?

(我需要选择图像文件的分辨率而不是屏幕分辨率)

1 个答案:

答案 0 :(得分:5)

注意:

答案是在C#而不是Javascript中,在JS中无法做到这一点,这不是原始问题中的要求。

关于您原来的问题

这是您认为“高质量”图像(很好的阅读BTW)的重要依赖。但无论如何,质量因子不会直接存储在JPEG文件中,因此您无法直接从文件中读取。

这些因素大多涉及复杂的成像算法。但是不要失望,您可以使用Image类上的PropertyItems属性读取一些属性,并根据大小和dpi或ppi进行一些计算以了解图像的质量。这是一个简单的例子:

Bitmap bmp = new Bitmap("winter.jpg");
Console.WriteLine("Image resolution: " + bmp.HorizontalResolution + " DPI");
Console.WriteLine("Image resolution: " + bmp.VerticalResolution + " DPI");
Console.WriteLine("Image Width: " + bmp.Width);
Console.WriteLine("Image Height: " + bmp.Height);

这也有帮助:How can I get the resolution of an image? (JPEG, GIF, PNG, JPG)

  

“但我想在上传之前检查所选文件的图像质量”

如果你想在上传之前检查图像质量(正如你在评论中所说的那样),这对问题来说是一个很大的优势。获取你所追求的数字的唯一内置方法是创建一个新实例(并解码整个图像) - 这将是非常低效的。但是......嘿!这是一个起点:How do I reliably get an image dimensions in .NET without loading the image?

进一步阅读: