HEIC图片问题处理

HEIC,是iOS 11更新后,iPhone 7及其后硬件,在拍摄照片时的默认图像存储格式
iphone的图库,用jpg拍照保存后内存占比较大,heic格式会微缩不少。
问题来了,电脑不能直接小图预览heic大图用wps可以看

读取图片用到的方法

//javax.imageio.ImageIO;
ImageIO.read(URL url);

ImageIO是javax目录下的,显然是Java自己提供的,支持的类型有限。
特殊格式使用 ImageIO.read 获取的为null

查看ImageIO支持的读取图片格式

System.out.println(Arrays.toString(ImageIO.getReaderFileSuffixes()));
//支持的文件类型:jpg, bmp, gif, png, wbmp, jpeg

TwelveMonkeys

一个开源的Java扩展库,专为Java的javax.imageio API设计,用于增强其图像读取、写入和处理的能力。

TwelveMonkeys增加了对多种非标准或老旧图像格式的原生支持,包括:

  • Adobe Photoshop的PSD文件
  • Microsoft Office的EMF/WMF矢量图形
  • Apple QuickTime的QTIF和MOV/MP4视频帧
  • Interchange File Format (IFF)
  • 老旧的BMP和RLE编码的PNG
image.png

引入该插件后支持的格式 jpg,tpic,tiff,bmp,gif,tf8,png,btiff,tga,tif,btf,jpeg,wbmp

image.png

唯独缺少对heic的处理,maven中央仓库也没有 imageio-heic的支持

图片转换之heic转jpg(使用ImageMagick)_imagemagick heic转jpg-CSDN博客

ImageMagick7以下不支持heic等图片格式,所以重新安装了ImageMagick7.1版本支持heic格式

sudo apt-get update
sudo apt-get install imagemagick libheif-examples

//使用命令来确认ImageMagick是否支持HEIC格式
convert -version

convert input.heic output.jpg
convert input.heic -resize 800x600 output.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容