js实现修改图片的底色

发布于:2024-03-22 ⋅ 阅读:(112) ⋅ 点赞:(0)

以下代码主要实现修改png/jpg图片的底色,就目前使用到的而言作用不大,主要用于学习。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Modify Image Color</title>
</head>
<body>
  <img id="originalImage" src="./test.png">
  <canvas id="canvas" style="display: none;"></canvas>

  <script>
    var img = document.getElementById('originalImage');
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');

    img.onload = function() {

      canvas.width = img.width;
      canvas.height = img.height;
      ctx.drawImage(img, 0, 0, canvas.width, canvas.height);

      // 获取图像的像素数据
      var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
      var data = imageData.data;

      // 修改像素数据中的颜色,这里简单地对每个像素进行颜色调整
      for (var i = 0; i < data.length; i += 4) {
        // 将每个像素的红色通道设置为0,绿色通道设置为当前值,蓝色通道设置为0,保留透明通道值不变
        data[i] = 255;        // Red
        data[i + 1] = 0;    // Green
        data[i + 2] = 0;    // Blue

      }

      // 将修改后的像素数据重新绘制到canvas上
      ctx.putImageData(imageData, 0, 0);
      // 将canvas转换为DataURL以便在<img>标签中显示修改后的图像
      var modifiedImageURL = canvas.toDataURL();

      // 将修改后的图像显示在页面上
      var modifiedImgElement = document.createElement('img');
      modifiedImgElement.src = modifiedImageURL;
      document.body.appendChild(modifiedImgElement);
    };
  </script>
</body>
</html>

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到