初学processing。做的官网上的images and pixels里面的例子,遇到问题求大神!!
本帖最后由 liang647 于 2012-8-11 14:14 编辑求教大神!!请问这段代码有什么问题?为什么不能出现完整的图像,而全是条纹???
附上使用的图片。PImage img;
void setup() {
size(400, 400);
img = loadImage("bird.jpg");
}
void draw() {
loadPixels();
img.loadPixels();
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int loc = x + y*width;
float r = red(img.pixels);
float g = green(img.pixels);
float b = blue(img.pixels);
pixels =color(r,g,b);
//上四行代码改为pixels=img.pixels;后也没有解决
}
}
updatePixels();
} T T。。以自己解决。。。弱智贴就不删了。。给其他人个警示。。
出现错误的原因是图片和画布区域大小不一样。。对于画布和图片的像素位置应该分别计算。附上改后的代码:PImage img;
void setup() {
size(500,500);
img = loadImage("bird.jpg");
}
void draw() {
loadPixels();
img.loadPixels();
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
int imageLoc = x + y*img.width;
int displayLoc = x + y*width;
float r = red(img.pixels);
float g = green(img.pixels);
float b = blue(img.pixels);
pixels =color(r,g,b);
}
}
updatePixels();
} 多做多学习就好了,有空多发贴,交流一下:)
页:
[1]