作者:baerviln
背景
众所周知,我们现在广泛使用的JPEG图像格式是上个世纪的老古董,有着无数的缺陷,比如仅支持8bit色深,压缩率低下。其实优秀的图像格式已经有很多,例如苹果和小米支持的HEIF,还有AVIF、JPEG XL 、WebP2等,相同画质节省50%存储空间不是玩笑。
但是问题来了,过去电脑上存的几十上百G的jpg照片怎么办呢?简单转成新格式并不是完美的办法,因为照片都是有损压缩,从一个有损压缩格式转到另一个有损压缩格式,画质一般都会进一步损失。有没有办法在不损失画质的前提下转换为压缩率更高的格式呢?
答案是有,这就是JPEG XL格式。
JPEG XL的无损重压缩功能
JPEG XL是JPEG小组开发的新一代图像格式(后缀.jxl),和上面提到的一些新格式一样,它支持很多新特性,而且免费,关键它提供了一个独家功能,可以把普通的jpg图片无损重压缩。
所谓无损重压缩,就是压缩之后的图像内容和原始的jpg完全一样,这种压缩是可逆的,一张jpg转换为jxl再重新转换为jpg,得到的文件和原始文件的每个字节都完全相同,当然直接打开转换后的jxl,也可以显示出完全相同的图像。 这种重压缩方式大约可以节约20%存储空间。
市面上已经有不少软件或者在线工具支持JPG转JPEG XL,但试了几个,都没法实现这种无损重压缩,勾选无损选项,结果是把JPG重新转成了无损图片,画质是没损失,但体积比原先还大了几倍。 唯一可行的就是直接使用官方的工具libjxl(可以在github上搜索),但是需要用命令行操作,命令虽然不复杂,但是操作大量文件很不方便,所以利用Qt自己写了一个图形化界面,调用官方的程序进行转换。
使用方法
界面如图所示,点击选择文件选择要转换的图片,选择的图片会显示在左侧列表,默认输出到原目录,也可以自定义输出位置,输出的文件名和原来一样,只是扩展名换成了jxl,如果有同名文件会直接覆盖。
二次验证功能,就是jpg转成jxl之后,再转回jpg,对比两个jpg如果完全相同,才算转换成功,确保数据完全无损,避免转换过程中发生什么问题,导致转换结果不正确。
转换成功删除原始文件,就不用解释了,使用这个功能建议勾选二次验证,确保万无一失。
压缩等级建议不用改,实测调到更高耗时大幅增加,压缩率提升极小。
设置好了点击开始转换,列表中转换成功的文件会显示绿色,失败会显示红色,右侧显示的是转换的相关信息。转换了一堆照片,完成后对比文件大小,由2.95G下降到2.36G,减少0.59G,正好压缩了20%
点“JXL转JPG”标签就可以把JXL转回jpg,操作和基本一样。测试一下,把转的jxl再转回jpg,校验一下哈希值,完全相同,说明转换是完全无损的。
这个软件很适合有大量jpg照片存档的情况,如果是专业摄影师存档的都是raw那就没必要了。
转成jxl后在电脑上浏览没什么问题,安装一个支持的jxl图片浏览器就行,比如XnView MP、IrfanView 等,但有个问题就是不能查看EXIF信息,明明转回jpg后EXIF是完整保留的,可能是目前的浏览器还不支持。
这个软件是为jpg转换设计的,但也可以用于png等格式,不过默认是有损压缩,需要无损或其他设置可以输入自定义参数。其它格式不支持二次验证功能。
因为是个人软件,也没有官网,张大妈不能贴链接,需要使用可以见评论区。软件不收费,不联网,可以放心使用。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有