要在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环境。选择适合你项目需求的方法进行实现。
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?