从png移除颜色

时间:2018-11-19 07:17:54

标签: javascript image png

我正在尝试从aframe生成的图像中删除颜色

我将背景设置为纯绿色#00ff00

然后我尝试删除所有绿色,我靠近了但仍然在文本周围得到了一些抗锯齿

enter image description here

将此代码与aframe生成的ImageBitmap一起使用

 canvas.height = img.height
      canvas.width = img.width
     ctx.imageSmoothingEnabled = true
      ctx.translate(0.5, 0.5)
      ctx.drawImage(img,0,0)
      var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)

      for (var x = 0; x < imageData.width; x++)
        for (var y = 0; y < imageData.height; y++) {
          var offset = (y * imageData.width + x) * 4
          var r = imageData.data[offset]
          var g = imageData.data[offset + 1]
          var b = imageData.data[offset + 2]

          //if it is pure green, change its alpha to 0              
          if (r  == 0 && g == 255 && b == 0)
            imageData.data[offset + 3] = 0
        }

      ctx.putImageData(imageData, 0, 0)

我尝试给颜色条件设置一个范围,但这没有帮助。

有没有一种方法可以消除所有颜色?

0 个答案:

没有答案