Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不使用画布查找透明像素_Javascript_Jquery - Fatal编程技术网

Javascript 不使用画布查找透明像素

Javascript 不使用画布查找透明像素,javascript,jquery,Javascript,Jquery,有没有一种方法可以在没有画布的情况下使用javascript从图片中读取透明像素?内存画布是否适合您 在这种情况下,您可以执行以下操作: var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); var img = document.getElementById('id'); ctx.drawImage(img, 0, 0); var data = ctx.getImageData(0, 0

有没有一种方法可以在没有画布的情况下使用javascript从图片中读取透明像素?

内存画布是否适合您

在这种情况下,您可以执行以下操作:

var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var img = document.getElementById('id');
ctx.drawImage(img, 0, 0);
var data = ctx.getImageData(0, 0, img.width, img.height).data;

for (var i = 0 ; i < data.length ; i += 4) {
    if(data[i+3] == 0) {
        // do something with this pixel
    }
}
var canvas=document.createElement('canvas');
var ctx=canvas.getContext('2d');
var img=document.getElementById('id');
ctx.drawImage(img,0,0);
var data=ctx.getImageData(0,0,img.width,img.height);
对于(变量i=0;i
您可以创建一个隐藏的画布,并在那里执行您的意思,而无需使用getImageData。您可以将getImageDate与内存画布一起使用,请参见,但由于getImageData是画布的一种方法,因此您需要某种类型的画布