liang647 发表于 2012-8-11 14:13:03

初学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();
}

liang647 发表于 2012-8-11 14:30:31

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();
}

豆腐蜗牛 发表于 2012-8-14 20:49:32

多做多学习就好了,有空多发贴,交流一下:)
页: [1]
查看完整版本: 初学processing。做的官网上的images and pixels里面的例子,遇到问题求大神!!