前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ImageMagick 识别 APNG

ImageMagick 识别 APNG

作者头像
上山打老虎了
发布2022-06-27 14:19:57
4260
发布2022-06-27 14:19:57
举报
文章被收录于专栏:ArticleArticle

By Noxxxx from https://www.noxxxx.com/?post_type=post&p=1985 上山打老虎 欢迎分享与聚合,尊重版权,可以联系授权

最近在做一个数字资产的项目,其中就利用了 ImageMagick 来实现生成缩略图的功能,不得不说其能力的强大,诸如 PSD、EPS、AI 等常用的设计软件导出的文件都能转换,更不用说常见的 GIF、PNG、JPG、PDF这些格式了。

在实际使用过程中遇到了 APNG 识别的问题,由于它俩的后缀都是 PNG,所以一开始就单纯地当作了 PNG 来处理,

Animated Portable Network Graphics (APNG)

它是 PNG 的扩展,支持了动画,相比于 GIF 的诞生更晚一点,同时向前兼容,如果设备不支持 APNG ,那么依旧展示静态的 PNG 图片。

通过 wikipedia 的资料结合 StackOverflow 的回答,可以看到相比于 PNG 图片,在数据区块构成上多了一个 acTL 的标识

而 ImageMagick 就有能力获取文件的具体信息,我使用了 NPM package 名为 GM 的库,通过内部封装的 identify

方法就可以获取文件具体信息。

代码语言:javascript
复制
imagemagick(path).identify((err, value) => {
    if (err) console.log('获取文件格式出错,', err);
    resolve(value);
});

参考资料:

https://en.wikipedia.org/wiki/Portable_Network_Graphics

https://en.wikipedia.org/wiki/APNG

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年06月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档