当前位置: 首页 > news >正文

【组件】前端js HEIC/HEIF 转换为JPEG、PNG或GIF格式 苹果格式

【组件】前端js HEIC/HEIF 转换为JPEG、PNG或GIF格式

Heic2any: Client-side conversion of HEIC/HEIF image files to JPEG,PNG, or GIF in the browser.icon-default.png?t=O83Ahttps://alexcorvi.github.io/heic2any/#demo

GitHub - alexcorvi/heic2any: Converting HEIF/HEIF image formats to PNG/GIF/JPEG in the browser

Demo

Heic2any: Client-side conversion of HEIC/HEIF image files to JPEG,PNG, or GIF in the browser.

代码  直接保存成html 本地运行即可看到效果

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HEIC to PNG Conversion</title><script src="https://cdn.jsdelivr.net/npm/heic2any"></script>
</head>
<body><h2>Upload HEIC Image and Convert to PNG</h2><input type="file" id="heicInput" accept="image/heic" /><br><br><div id="previewContainer"><h3>Converted Image Preview:</h3><img id="preview" style="max-width: 100%; height: auto;" /></div><script>document.getElementById('heicInput').addEventListener('change', function (event) {const file = event.target.files[0];if (!file) return;// 使用 FileReader 读取 HEIC 文件const reader = new FileReader();reader.onload = function (e) {const heicBlob = e.target.result;// 使用 heic2any 将 HEIC 转换为 PNGheic2any({blob: new Blob([heicBlob], { type: 'image/heic' }),toType: "image/png"}).then(function (resultBlob) {// 生成图片的 URL 并展示预览const previewImg = document.getElementById('preview');const url = URL.createObjectURL(resultBlob);previewImg.src = url;}).catch(function (error) {console.error("Error converting HEIC to PNG:", error);});};// 以二进制格式读取 HEIC 文件reader.readAsArrayBuffer(file);});</script>
</body>
</html>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端开发macbook——NVM环境配置以及git配置流程
  • 【Python机器学习】循环神经网络(RNN)——超参数
  • Python操作MySQL
  • 【笔记】CCF直播:《如何在国际会议上有效交流》(2024-9-15)
  • prompt实用技巧-AI+Mermaid【酷炫钉钉文档】
  • win11下面graphviz的用法
  • 类型转换等 面试真题
  • 【Kubernetes】常见面试题汇总(十一)
  • 【QT】定时器使用
  • jdk相关介绍
  • RTX3060 FP64测试与猜想
  • 计算机视觉 对比学习 串烧一
  • [WUSTCTF2020]颜值成绩查询1
  • h5页面使用antd-modal,怎么处理居中且自然
  • GO 匿名函数
  • es6(二):字符串的扩展
  • Git初体验
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Java程序员幽默爆笑锦集
  • Netty 4.1 源代码学习:线程模型
  • SAP云平台里Global Account和Sub Account的关系
  • 盘点那些不知名却常用的 Git 操作
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 强力优化Rancher k8s中国区的使用体验
  • 移动端解决方案学习记录
  • 与 ConTeXt MkIV 官方文档的接驳
  • 运行时添加log4j2的appender
  • 栈实现走出迷宫(C++)
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 7行Python代码的人脸识别
  • Mac 上flink的安装与启动
  • ​iOS安全加固方法及实现
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • $.proxy和$.extend
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (web自动化测试+python)1
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (南京观海微电子)——示波器使用介绍
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (算法二)滑动窗口
  • (一)u-boot-nand.bin的下载
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)我也是一只IT小小鸟
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • ***通过什么方式***网吧
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .NET delegate 委托 、 Event 事件
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution