+
91
-

回答

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

网友回复

我知道答案,我要回答