Len*_*ase 7 html javascript canvas image
我不知道这是否可行,我从来没有真正使用过html canvas,但我知道
var imgPixels = canvasContext.getImageData(0, 0, canvas.width, canvas.height);
Run Code Online (Sandbox Code Playgroud)
但是如何使用它来获取具有特定颜色的所有像素并将这些像素更改为白色?所以,假设我的像素为红色:
if(pixel==red){
pixel = white;
}
Run Code Online (Sandbox Code Playgroud)
这是我想要的简单版本,但不知道如何做到这一点......
任何想法?
做这样的事情(这是画布作弊表):
var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
var pixelArray = imageData.data;
var length = pixelArray.length / 4; // 4 components - red, green, blue and alpha
for (var i = 0; i < length; i++) {
var index = 4 * i;
var r = pixelArray[index];
var g = pixelArray[++index];
var b = pixelArray[++index];
var a = pixelArray[++index];
if (r === 255 && g === 0 && b === 0 & a === 255) { // pixel is red
pixelArray[--index] = 255; // blue is set to 100%
pixelArray[--index] = 255; // green is set to 100%
// resulting color is white
}
}
context.putImageData(imageData, 0, 0);
Run Code Online (Sandbox Code Playgroud)
这是一个现场演示:http://jsfiddle.net/36M6W/
| 归档时间: |
|
| 查看次数: |
10010 次 |
| 最近记录: |