用 HTML5 Canvas 混合两幅图像


要混合两幅图像,你需要按 50-50 的比例执行混合操作。

让我们看看操作方法

<img src="Tutorial1.jpg" id="Tutorial One">
<img src="Tutorial2.jpg" id="Tutorial Two">

<p>Blended image<br>
<canvas id="canvas"></canvas></p>

<script>
   window.onload = function () {
      var myImg1 = document.getElementById('myImg1');
      var myImg2 = document.getElementById('myImg2');
      var myCanvas = document.getElementById("canvas");
      var ctx = canvas.getContext("2d");

      // width and height
      var w = img1.width;
      var h = img1.height;

      myCanvas.width = w;
      myCanvas.height = h;

      var pixels = 4 * w * h;
      ctx.drawImage(myImg1, 0, 0);

      var image1 = context.getImageData(0, 0, w, h);
      var imageData1 = image1.data;
      ctx.drawImage(myImg2, 0, 0);

      var image2 = context.getImageData(0, 0, w, h);
      var imageData2 = image2.data;

      while (pixels--) {
         imageData1[pixels] = imageData1[pixels] * 0.5 + imageData2[pixels] * 0.5;
      }
      image1.data = imageData1;
      ctx.putImageData(image1, 0, 0);
   };
</script>

更新于:2020 年 1 月 29 日

2K+ 浏览量

开启你的 职业生涯

完成课程,获得认证

立即开始
广告