ここで奇妙なエラーが発生します。
PImage img;
PImage img2;
PImage img3;
PImage img4;
PImage img5;
PImage img6;
PImage img7;
PImage img8;
PImage img9;
PImage img10;
int count;
int regionHeight;
int regionWidth;
ArrayList images;
void setup(){
//Image of bottle
images = new ArrayList();
img = loadImage("IMG_3763.JPG");
images.add(img);
img2 = loadImage("IMG_3764.JPG");
images.add(img2);
img3 = loadImage("IMG_3765.JPG");
images.add(img3);
img4 = loadImage("IMG_3766.JPG");
images.add(img4);
img5 = loadImage("IMG_3767.JPG");
images.add(img5);
img6 = loadImage("IMG_3768.JPG");
images.add(img6);
img7 = loadImage("IMG_3769.JPG");
images.add(img7);
img8 = loadImage("IMG_3770.JPG");
images.add(img8);
img9 = loadImage("IMG_3771.JPG");
images.add(img9);
img10 = loadImage("IMG_3772.JPG");
images.add(img10);
size(img.width, img.height);
println(img.width);
}
void draw(){
println(images.get(0).width);
}
配列に入れた画像はどれも実際には PImages のようです。これが setup() で img.width を取得できる理由ですが、images.get(index) で同じことをしようとすると Object が返されますが、そのオブジェクトは PImage ではありません。型が変更された理由がわかりません。ArrayList は、いくつかの追加機能を備えた動的配列のようなものであると理解していました。PImage オブジェクトを返す必要がありますが、処理はそれをそのように扱いません。これをさまざまな関数で検証して、返されるものを詳しく調べてみましたが、実際には異なるタイプのオブジェクトのように見えます。何か不足していますか?
ありがとう!