heic to jpg

heic to jpg

heic:https://baike.baidu.com/item/HEIC/10444257
jpg: https://baike.baidu.com/item/JPEG%E6%A0%BC%E5%BC%8F/3462770
HEIF & HEVC 研究  https://juejin.im/post/59ddc13ff265da432319f438

背景:

前景提要: heic格式图片不能直接在浏览器上显示
因业务需要在浏览器上展示用户上传的图片文件,heic也不例外,所以我们就需要heic to jpg

方案:

  • 使用某些已经提供了heic to jpg api的网站进行转换

https://cloudconvert.com/heic-to-jpg
优点:比较稳定
缺点:收费

  • 自己开发heic to jpg功能

https://github.com/monostream/tifig
优点:自己开发,可控

结论:

因为之前项目中存在有iwork to pdf的先例,所以heic to jpg个人以为最好还是采用类似方案,便于开发整合

开发过程:

1. 安装依赖
brew install cmake vips ffmpeg pkg-config

1.1在执行命令过程中报一下错误
Error: cmake: "cxx11" is not a recognized standard

在网上搜索我找到https://github.com/caskformula/homebrew-caskformula/issues/74 这个链接,但是按照里面的方法并没有解决问题

1.2 然后考虑到可能是之前升级mac系统之后brew出现了什么某些问题,然后我卸载重装然后问题就解决了

2. build

2.1 执行cmake .过程中报错,缺少依赖包
-- Checking for module 'vips-cpp'
--   Package 'libffi', required by 'gobject-2.0', not found

Google之后执行了以下命令,就ok了

export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/local/opt/libffi/lib/pkgconfig"

2.2

2.2.1 重新编译发现没有2.1的错误,但是发现lib的依赖库貌似不存在

2.2.2然后去对应的github仓库下载了对应的依赖库,再次进行编译(一定要下载对应引用版本,要不然可能存在不兼容)

3. 进行make

3.3.1 发现make过程中有许多报错的地方,根据自己经验以及Google搜索对代码进行相应修改,最后编译完成

4.测试软件

4.4.1 根据官方文档发现没有问题
tifig -v -p image.heic output.jpg

最后对于基于官方最后一个发布版代码的修改提交到自己仓库,方便下次使用
https://gitee.com/king_wyx/tifig.git

你可能感兴趣的:(mac,Java)