zoukankan      html  css  js  c++  java
  • canvas生成图片时背景透明变为白色背景

    canvas中插入透明图片,getImageData()生成img时,透明如何转换为白色背景的方式。

    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
    var img=document.getElementById("tulip");
    ctx.drawImage(img,0,0,w,h);
    this.cvsContext=cxt;
    toWhite(w,h)

    通过 getImageData() 复制画布上指定矩形的像素数据,然后通过 putImageData() 将图像数据放回画布:

      _toWhite (w,h) {
        var imageData = this.cvsContext.getImageData(0, 0, w, h)
        for (var i = 0; i < imageData.data.length; i += 4) {
          // 当该像素是透明的,则设置成白色
          if (imageData.data[i + 3] === 0) {
            imageData.data[i] = 255
            imageData.data[i + 1] = 255
            imageData.data[i + 2] = 255
            imageData.data[i + 3] = 255
          }
        }
        this.cvsContext.putImageData(imageData, 0, 0)
      }
  • 相关阅读:
    毕设(五)ListView
    毕设(四)ListBox
    毕设(三)NotifyIcon
    hdu 1.2.3
    ZOJ 1789 The Suspects
    ZOJ 2833 Friendship
    git
    yum wget rpm
    上传绕过
    LAMP 和 LNMP
  • 原文地址:https://www.cnblogs.com/liangtao999/p/15193590.html
Copyright © 2011-2022 走看看