要在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环境。选择适合你项目需求的方法进行实现。
网友回复