我想检查所选输入图像文件的当前质量(分辨率/dpi/ppi).
我的控件是图像上传器 jquery 插件。
如何获得所选文件的质量?
(我需要所选图像文件的分辨率而不是屏幕分辨率)
Note:
答案是在 C# 中,而不是在 Javascript 中,在 JS 中无法做到这一点,并且这不是原始问题中的要求。
关于你原来的问题
这很大程度上取决于您所认为的“高质量”图像(顺便说一句,读起来很好)。但无论如何,质量因数不会直接存储在 JPEG 文件中,因此您无法直接从文件中读取。
这些因素大多数涉及复杂的成像算法。但不要失望,您可以使用以下命令读取一些属性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);
这也会有帮助:如何获得图像的分辨率? (JPEG、GIF、PNG、JPG)
“但我想在上传之前检查所选文件的图像质量”
如果您想在上传之前检查图像质量(正如您在评论中所说),这对这个问题来说是一个很大的优势。获取所需数字的唯一内置方法是创建一个新实例(并解码整个图像) - 这将是非常低效的。但是……嘿!这是一个起点:如何在 .NET 中可靠地获取图像尺寸而不加载图像?
进一步阅读:
- 读取图像标题以获取宽度和高度
- http://en.wikipedia.org/wiki/Image_quality
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)