要在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环境。选择适合你项目需求的方法进行实现。
网友回复
腾讯混元模型广场里都是混元模型的垂直小模型,如何api调用?
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?