html5画布:按颜色剪裁

html5画布:按颜色剪裁,html,canvas,pixel,clip,Html,Canvas,Pixel,Clip,有没有办法在画布上按颜色选择一个区域并进行剪辑? 我希望能够剪辑一个未定义的区域,所有像素之间唯一的共同点是它们都具有相同的颜色。 谢谢 下面是一种选择颜色的方法。。你想用它做什么就做什么。我传递了一个我想找到的颜色,在每个像素上迭代并删除匹配的颜色,因为我不确定你所说的剪裁是什么意思,我假设你的意思是删除。但是,请注意,在大图像上,此方法速度较慢 // Takes an array with 3 color components, rgb function removeColor(c

有没有办法在画布上按颜色选择一个区域并进行剪辑? 我希望能够剪辑一个未定义的区域,所有像素之间唯一的共同点是它们都具有相同的颜色。 谢谢

下面是一种选择颜色的方法。。你想用它做什么就做什么。我传递了一个我想找到的颜色,在每个像素上迭代并删除匹配的颜色,因为我不确定你所说的剪裁是什么意思,我假设你的意思是删除。但是,请注意,在大图像上,此方法速度较慢

// Takes an array with 3 color components, rgb     
function removeColor(color){
    var canvasData = ctx.getImageData(0, 0, 256, 256),
        pix = canvasData.data;

    for (var i = 0, n = pix.length; i <n; i += 4) {
        if(pix[i] === color[0] && pix[i+1] === color[1] && pix[i+2] === color[2]){
             pix[i+3] = 0;   
        }
    }

    ctx.putImageData(canvasData, 0, 0);
}

removeColor([0,0,255]); // Removes blue.
//获取一个包含3个颜色分量的数组,rgb
函数removeColor(颜色){
var canvasData=ctx.getImageData(0,0,256,256),
pix=canvasData.data;

对于(var i=0,n=pix.length;i你所说的
clip
it是什么意思?除非所讨论的图像是像素完美的,否则它可能值得近似你的条件,即使是大量:@SimonSarris是的,我也考虑过了,我注意到我的图像中没有选择边缘,因为颜色溢出并抛出了精确的值。我会添加你的条件。)js轻描淡写地回答问题并给予你信任。@Loktar也感谢你:-)