在Processing中加载多个图像

时间:2012-02-18 21:44:33

标签: image load processing

我想从Processing中的目录加载和绘制多个/所有图像。 我无法找到扩展一个图像示例的方法:

PImage a;

void setup() {
  size(800,800);
  background(127);
  a = loadImage("a/1.jpg");
  noLoop();
}  

void draw(){
  image(a,random(300),random(300),a.width/2, a.height/2);

}

到多个图像。 有没有一种简单的方法来实现这一目标?

非常感谢。

2 个答案:

答案 0 :(得分:2)

我确信有更优雅的方法可以做到这一点,但这不会像这项工作一样简单吗?

PImage a;
Pimage b;

void setup() {
  size(800,800);
  background(127);
  a = loadImage("a/1.jpg");
  b = loadImage("b/1.jpg");
  noLoop();
}  

void draw(){
  image(a,random(300),random(300),a.width/2, a.height/2);
  image(b,random(300),random(300),b.width/2, b.height/2);
}

您可以在此处找到列出目录的示例:http://processing.org/learning/topics/directorylist.html。循环的参考部分位于:http://processing.org/reference/loop_.html

答案 1 :(得分:0)

想象一下,你有一个已知数量的图像(n),名为0.jpg,1.jpg,2.jpg ......,那么你可以这样做:

PImage[] fragment;
int n=3;

void setup() {
 size(400, 400);
 fragment=new PImage[n];
 for(int i=0;i<fragment.length;i++){
 fragment[i]=loadImage(str(i) + ".jpg");
}
}

void draw(){
  for(int i=0;i<fragment.length;i++){
  image(fragment[i],20*i,20*i);
}
}