在javascript中获取像素颜色
get pixel colour in javascript
这可能是一个非常基本的问题,但由于我是javascript的新手,我无法找到解决问题的正确方法。我需要做一个if语句,检查像素颜色,如果它是黑色的,就做一些事情,如果不是,就做其他事情。(这是一个反向传播项目,所以才会有迭代)
for(i=1;i<iterations;i++) {
for(j=1;j<300;i+=2) { //canvas size is 300x300
for(k=1;k<300;i+=2) {
if (context.getImageData(j,k,1,1).data == [0, 0, 0, 0])
{/*code to be executed*/}
else {/*other code*/}
}
}
}
很抱歉问了一些简单的问题,但我没有太多时间做这件事,所以现在不能从基础开始。
您需要比较数组中的每个项目:
var pixel = context.getImageData(j,k,1,1).data; // cache array
if (pixel[0] === 0 && // R
pixel[1] === 0 && // G
pixel[2] === 0 && // B
pixel[3] === 0) { // A
...
}
更好的是,不要对每个像素使用getImageData()
,而是在开始迭代之前缓存它:
var x, y,
buffer = context.getImageData(0, 0, 300, 300).data;
for(y = 0; i < 300; y++) {
for(x = 0; x < 300; x++) {
var pos = (y * 300 + x) * 4;
if (buffer[pos] === 0 && // R
buffer[pos+1] === 0 && // G
buffer[pos+2] === 0 && // B
buffer[pos+3] === 0) { // A
...was black...
}
else {
...was not black...
}
}
}
相关文章:
- 获取图像的平均外部像素颜色
- 画布-在多个画布叠加中获取像素颜色
- Circle-Canvas获取lineWidth的像素颜色
- 如果滚动 300 像素,请更改背景颜色
- 如何使用WebGL设置画布上像素的颜色
- Javascript - 如何使用基于站点像素颜色的画布创建图像
- 在 JavaScript 画布中获取图像的颜色像素
- 从画布获取像素颜色
- 获取图像的第一个像素颜色(JS/jQuery)
- 如何根据某些功能为 svg 中的每个像素分配颜色
- HTML5画布-在屏幕上显示像素颜色阵列的最快方式
- 从图像中获取像素颜色
- 通过Three.js中的getImageData像素颜色数据循环生成多个立方体
- 从IMG获取像素颜色总是0 0 0 0
- 不同的像素颜色值相同
- 使用Javascript查找网页上特定坐标的像素颜色
- javascript getImageData未从png图像返回正确的像素颜色
- 在javascript中获取像素颜色
- 手动在JS画布上分配像素颜色
- 当检测画布上的像素颜色时,DOM异常18