【发布时间】:2017-06-04 05:10:09
【问题描述】:
在 p5.js 中,我正在尝试为个人项目处理图像的每个像素,所以我认为我会开始缓慢并尝试使每个像素变黑。由于某种原因,屏幕只是保持白色,我不知道为什么像素没有更新。代码如下:
var Canvas;
var srcImg;
var defaultImg = "http://i.imgur.com/ARg0OOy.jpg";
function preload() {
srcImg = loadImage(defaultImg);
}
function setup () {
createCanvas(srcImg.width,srcImg.height);
noLoop();
}
function draw() {
srcImg.loadPixels();
for (var x = 0; x < srcImg.width; x++) {
for (var y = 0; y < srcImg.height; y++) {
var loc = x + y*srcImg.width;
srcImg.pixels[loc] = color(224,29,29);
}
}
console.log(loc);
console.log(srcImg.width);
console.log(srcImg.height);
console.log(srcImg.width * srcImg.height);
srcImg.updatePixels();
//image(srcImg, 0,0,srcImg.width, srcImg.height);
}
另外,如果我取消对最后一行的注释,我会看到原始图片并且它在顶部被截断(并且它并没有将每个像素都变成黑色)。您可以亲自查看here. 对为什么会发生这种情况有任何想法吗?
编辑:我什至尝试将一行像素设置为鲜艳的红色,而我得到白色屏幕的原因是因为无论我将像素设置为什么颜色,它们都会变成白色......另外,当我试着让整行变成红色,它停在大约 1/4 处,如图所示here(仍然是白色)。我不知道为什么会这样。
【问题讨论】:
标签: javascript image image-processing p5.js