实在是折腾不动了,基本上百度谷歌上关于 Java 支持 webp 转换的文章全看过了,各个版本的 jar 包全试过了,自己编译也试过了,还是无效。
遇到的问题包括但不限于:NoSuchElementException 、找不到动态库。。。
现求助有过成功经验的兄弟,能否伸出援手。
需求:Springboot 项目,部署在 Centos 7 64 上,要求可以将上传的图片( jpg/png )转换为 webp 格式。
成功之后,支付宝 100 元,不知道有没有成功经验的兄弟。
实在没辙了,希望大家不要嫌少
1 cbdyzj 2022-10-05 12:32:30 +08:00 via Android 这个我弄过,不过在外面自驾游,下午空了给你写个 demo |
![]() | 3 suyabgaran 2022-10-05 12:44:40 +08:00 我弄了个 demo ,能用 |
![]() | 4 suyabgaran 2022-10-05 12:47:51 +08:00 |
![]() | 5 lixyz OP @suyabgaran 提示 java: 读取 D:\maven-repo\org\sejda\imageio\webp-imageio\0.1.6\webp-imageio-0.1.6.jar 时出错; error in opening zip file |
![]() | 6 lixyz OP @suyabgaran 在 pom 文件中添加正常,在转换格式的时候提示上面那个错误。 |
![]() | 7 suyabgaran 2022-10-05 13:23:05 +08:00 @lixyz 试试? mvn -U clean install |
8 int0x03 2022-10-05 13:25:37 +08:00 读 jar 出错, 有时候是 jar 包损坏, 可以删除 这个文件夹: D:\maven-repo\org\sejda\imageio\ 然后重新 mvn clean install 再试试 |
![]() | 9 ysc3839 2022-10-05 13:57:30 +08:00 via Android ImageMagick 不行吗? |
11 Bingchunmoli 2022-10-05 15:23:06 +08:00 via Android 本地 jar 包写过,当时只会终端输入输出写的 |
![]() | 12 lixyz OP @suyabgaran @int0x03 都试过了,问题依旧,我怀疑是我 JDK 版本的问题?我用到是 1.8 @ysc3839 ImageMagick 之前考虑过,但是对于是否转换成功不太好获取,就放弃了 |
14 cbdyzj 2022-10-05 19:02:12 +08:00 |
![]() | 15 sutra 2022-10-05 19:33:33 +08:00 > suyabgaran 6 小时 37 分钟前 > https://github.com/eGluZl/image2webp @lixyz > @suyabgaran 这个代码是可以在 Java 1.8 下工作的,把 java.version 改成 1.8 ,var 改成具体的类型就可以了。 |
![]() | 16 maowu 2022-10-05 20:12:21 +08:00 via Android 楼主用的是 webp-imageio 这个库吗? |
![]() | 17 lixyz OP @suyabgaran @cbdyzj 你俩用的是一个库,我刚把所有 jar 包清空了,重新构建了,不成功啊 |
![]() | 19 lixyz OP @suyabgaran @cbdyzj Windows 10 成功转换了,但是在 Centos 7 上不成功,我就是打包成 war 然后部署到服务器上啊。。。 |
![]() | 20 suyabgaran 2022-10-05 22:55:33 +08:00 @lixyz 报什么错? |
![]() | 21 lixyz OP @suyabgaran 按照您代码中的转换方法,没有任何报错,只是 ImageIO.write 方法返回 false 。 按照 github 上另一个创建 ImageWriter 和 WebPWriteParam 来转换,会提示找不到 WebPWriteParam 类。 然后我又注意到一点,在右侧“外部库”中,webp-imageio 包没有办法像其他 jar 包一样可以展开。 但在 win10 系统上是正常的 |
![]() | 22 lixyz OP https://github.com/liguobing/pic/blob/master/sp221005_234607.png?raw=true 像图片中一样,webp-imageio 无法像上一个 native-lib-loader 一样展开,是不是这里有什么问题? |
![]() | 23 lixyz OP @suyabgaran 我刚才的描述可能有歧义 在 win10 上,用您代码中默认的方式可以转换成功,但是在 centos7 上 ImageIO.write 方法返回 false 。 同样在 win10 上,使用 github 上提供的另一个创建 ImageWriter 和 WebPWriteParam 来转换,会提示找不到 WebPWriteParam 类。 |
25 cbdyzj 2022-10-06 08:52:28 +08:00 via Android 这个库无法在 arm64 的平台工作 |
![]() | 26 lixyz OP @cbdyzj cpu 是 Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz 腾讯云上的轻虚拟机 |
27 cbdyzj 2022-10-06 11:03:03 +08:00 可以+我 ID ,我下午空的,有意可以 Zoom 一下 |
29 cbdyzj 2022-10-06 11:09:55 +08:00 我的 V 站 ID 就绿色软件,+一下 |
![]() | 31 narmgalaxy 2022-10-06 14:23:17 +08:00 啊这,谷歌 有转换工具,,直接在命令行调用, https://developers.google.com/speed/webp |
![]() | 32 narmgalaxy 2022-10-06 14:24:12 +08:00 ffmpeg 也可以做转换 |