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

RGA*_*RGA 7 javascript jquery resolution image image-size

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

我的控件是image uploader jquery插件.

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

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

Tom*_*duy 5

注意:

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

关于你原来的问题

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

大多数这些因素涉及复杂的成像算法.但是不要失望,您可以使用PropertyItemsImage类上的属性读取一些属性,并根据大小和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);
Run Code Online (Sandbox Code Playgroud)

这也有帮助:如何获得图像的分辨率?(JPEG,GIF,PNG,JPG)

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

如果你想在上传之前检查图像质量(正如你在评论中所说的那样),这对问题来说是一个很大的优势.获取你所追求的数字的唯一内置方法是创建一个新实例(并解码整个图像) - 这将是非常低效的.但是......嘿!这是一个起点:如何在不加载图像的情况下可靠地获取.NET中的图像尺寸?

进一步阅读:

  • 您的代码不适用于Javascript,这将令人困惑.有没有办法在Javascript中执行此操作? (6认同)