如何检查图像质量/分辨率/ DPI / PPI? [关闭](How to check image

2019-07-04 03:00发布

我要检查选定输入图像文件的当前质量(分辨率/ DPI / PPI)。

我的控制是图片上传的jQuery插件。

我怎样才能得到所选文件的质量?

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

Answer 1:

注意:

答案是在C#中不使用Javascript,也没有办法在JS做到这一点,这是不是在原来的问题的要求。

关于你原来的问题

这是你认为什么是“高品质”图像(不错阅读BTW)一个很大的依赖性。 但无论如何,质量因素并不是直接存储为JPEG文件,所以你不能直接从文件中读取。

这些因素大部分涉及复杂的成像算法。 不过不要失望,你可以阅读使用的一些属性PropertyItems对Image类财产,并提出一些计算得到基于大小和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);

这将有助于太: 我怎样才能得到一个图像的分辨率? (JPEG,GIF,PNG,JPG)

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

如果您想检查上传之前的图像质量(如你在评论中说的),这是一个很大的加的问题。 唯一的内置方法来获取你是通过创建一个新的实例(和解码整个图像)之后的数字 - 这将是非常低效的。 可是......哎! 这里是一个起点: 我如何可靠地获得在.NET中的图像尺寸,而不加载图像?

延伸阅读:

  • 读取图像头获取宽度和高度
  • http://en.wikipedia.org/wiki/Image_quality


文章来源: How to check image quality/resolution/dpi/ppi? [closed]