我正在为Flash 10开发图像上传器。有没有办法读取浏览图像的jpeg质量。
答案 0 :(得分:1)
不幸的是,它无法直接完成:
未存储品质因数 直接在JPEG文件中,所以你 无法从中读取品质因数 文件。 (来自:Microsoft support页...)
更详细:
使用的量化表 压缩图像存储在 JFIF标题,但JPEG质量 用于生成的因子 量化表不存储 与图像,因此原始 JPEG品质因数丢失。 (来自:JPEG Compression Metrics as a Quality Aware Image Transcoding,Surendar Chandra和Carla Schlatter Ellis)
以上引用来自一篇论文,该论文讨论了估计压缩程度的方法(通过检查图像中使用的量化表),但实现起来并不容易:有一个示例here,它是Image Magick代码库的一部分,但它是用C语言编写的。
Image Magick已经ported到Haxe,它可以被编写到Flash代码中,所以可以想象你可以得到一些有用的东西,但我担心解释如何超出我的技能!
编辑:您可能也对this question的答案感兴趣,{{3}}询问如何在不加载整个文件的情况下获取图像的大小(适合处理大于Flash的图像)。
答案 1 :(得分:0)
我已经使用libjpeg来完成这项工作,也许你可以参考我的代码
given_day_of_the_week=$1
f='%A %Y-%m-%d'
[ `date +%A` = 'Sunday' ] && first=`date -d 'today' +"$f"` ||
first=`date -d 'last Sunday' +"$f"`
rest=`seq 1 6 | xargs -I{} date -d "$first +{} day" +"$f"`
echo -e "$first\n$rest" |
grep -i $given_day_of_the_week |
cut -d' ' -f2
此方法是使用libjpeg读取jpg文件的量化表,然后使用量化表计算质量参数。