jxl格式图片
作者: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等格式,不过默认是有损压缩,需要无损或其他设置可以输入自定义参数。其它格式不支持二次验证功能。
因为是个人软件,也没有官网,张大妈不能贴链接,需要使用可以见评论区。软件不收费,不联网,可以放心使用。
","gnid":"9b249ea9e7fdebc91","img_data":[{"flag":2,"img":[{"desc":"","height":"433","title":"","url":"https://p0.ssl.img.360kuai.com/t01f1539d0748d0ad66.jpg","width":"362"},{"desc":"","height":"510","title":"","url":"https://p0.ssl.img.360kuai.com/t015f0279417442f1af.jpg","width":"600"},{"desc":"","height":"505","title":"","url":"https://p0.ssl.img.360kuai.com/t0120b8d87e8be9c36c.jpg","width":"600"},{"desc":"","height":"293","title":"","url":"https://p0.ssl.img.360kuai.com/t01f5233ffc036b390f.jpg","width":"600"},{"desc":"","height":"462","title":"","url":"https://p0.ssl.img.360kuai.com/t01e33518f23fc04059.jpg","width":"532"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1678451969000,"pure":"","rawurl":"http://zm.news.so.com/e5a9dfa0c01632dbd999b8fd00d34f23","redirect":0,"rptid":"87385758b977ba09","rss_ext":[],"s":"t","src":"什么值得买","tag":[],"title":"硬盘空间的福音 原创软件 JPG照片无损压缩为 JPEG XL
钱航度2039JAVA如何读取excel里的数据做出折线图 -
辕义苏13495541571 ______ jxl 然后录制一个excel的折线宏,,,,,,再参考这个宏写jxl
钱航度2039自己做一个excel表格,然后在eclipse中以代码的的形式写出excel表格中的数据 -
辕义苏13495541571 ______ 使用poi或者jxl读取显示
钱航度2039如何将excel 中数据导出到jsp页面 -
辕义苏13495541571 ______ //首先下载 jxl-2.4.2.jar 包 http://repo1.maven.org/maven2/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar public static void main(String args[]) throws BiffException, IOException, WriteException{ //1 从Excel文件读取数据表 //Java Excel API既可以从本地文件系统的一...
钱航度2039JAVA实现如何比较两个文档之间的异同点 -
辕义苏13495541571 ______ 楼上回答驴唇不对马嘴.这个文件比较功能,我做过比较txt简单文本文件的.office文件没比过,说下想法,希望能对你有帮助打开要读取的两份文件,依次读取A所有行数,将每一行的...
钱航度2039如何用java导入Excel数据到数据库 -
辕义苏13495541571 ______ public static void main(String args[]) throws BiffException, IOException, WriteException{//1 从Excel文件读取数据表//Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表.//读取Excel数据表的第一步是创...
钱航度2039怎么用java实现读取excel表格里的数据生成曲线图 -
辕义苏13495541571 ______ 首先使用JXL读取excel的数据然后使用JFreeChart把数据转成曲线图 说明:jxl.jar是通过java操作excel表格的工具类库支持Excel 95-2000的所有版本 JFreeChart是JAVA平台上的一个开放的图表绘制类库.效果图
钱航度2039poi导出excel怎么设置水印 -
辕义苏13495541571 ______ Excel中水印效果实现探讨一文对水印的添加描述比较详细(http://hi.baidu.com/daxiongmao_adi/blog/item/d42c50b40cea49798bd4b20d.html),我取其中的第二种方法,设置背景图片,以完成水印效果.具体解决思路是:制作一个有水印Excel模版,所有生成的excel文件均以此模块为底,完成水印的复制添加效果.查阅原系统代码,在Excel导出时采用jxl组件,而jxl的API对excel文件的操作分可读、可写的操作权限,不利于复制一个模版,在模板中做新插入内容的添加.于是修改为POI组件进行处理.
钱航度2039目前大家在java开发中使用什么报表工具 -
辕义苏13495541571 ______ java开发报表工具有很多的呀,给题主介绍几款口碑和性价比不错的吧1、Jasperreport:最常用的报表工具,常和Ireport搭配使用.可以在java环境下制作报表,支持PDF、XLS、HTML、CSV、XLM文件输出格式.2、Irepoer:允许用户可视化...
钱航度2039再麻烦您一次,请您用JAVA,帮我解决下这个问题,不甚感激!!! -
辕义苏13495541571 ______ 做了一个出来,但是没有你给的那个图片那样用彩色的方式排列,而且是横向排列的 import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; import jxl.Workbook; ...
钱航度2039java 如何清除excel单元格中的无效超链接,急用,求解 -
辕义苏13495541571 ______ 删除超链接和代表超链接的文本或图形 若要删除超链接和代表超链接的文本,请用鼠标右键单击包含该超链接的单元格,在快捷菜单上,单击“清除内容”. 若要删除超链接以及代表超链接的图形,请按住 Ctrl 单击该图形,再按 ...