要在JavaScript中将JPEG图片转换为WebP格式,可以使用HTML5的Canvas API或者Node.js的webp-converter库。以下是两种方法的示例:
方法一:使用Canvas API读取JPEG图片:通过FileReader读取图片。绘制到Canvas:将图片绘制到Canvas上。转换为WebP:使用Canvas的toDataURL方法转换为WebP格式。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JPEG to WebP Conversion</title>
</head>
<body>
<input type="file" id="upload" accept="image/jpeg">
<img id="output" alt="WebP Image">
<script>
document.getElementById('upload').addEventListener('change', function(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = function(e) {
const img = new Image();
img.onload = function() {
const canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
const webpDataUrl = canvas.toDataURL('image/webp');
document.getElementById('output').src = webpDataUrl;
};
img.src = e.target.result;
};
reader.readAsDataURL(file);
});
</script>
</body>
</html> 方法二:使用Node.js的webp-converter库安装库:
npm install webp-converter
转换图片:
const webp = require('webp-converter');
webp.cwebp("input.jpg", "output.webp", "-q 80", (status, error) => {
if (status === 100) {
console.log("Conversion successful");
} else {
console.error("Conversion failed", error);
}
}); 这两种方法分别适用于浏览器端和Node.js环境。选择适合你项目需求的方法进行实现。
网友回复
seedance2如何参考白模视频使用真实场景和人物生成新视频?
如何设定小孩看电视的时候每隔10分钟弹出一个题目,答对才能继续,答错继续下一题?
直播数字人根据公屏互动评论实时做出不用动作技术是什么?
未来ai文本大模型根据剧本直接生成像素风或三维白模或灰模粗糙场景动画html给视频大模型参考站位与运镜?
浏览器中如何将epub电子书转成txt文本格式?
有没有开源的工具直接完整下载番茄等平台的任意小说内容?
为啥这几天seedance2.0-mini大降智?
ai能修复被遮挡破坏的二维码图片内容吗?
ai下一个赛道是空间智能与世界模型吗?
php5到php7的PHP2SHELL漏洞有没有补丁修改?


