size() 函数在Processing 3.0 中不起作用

cnd*_*ata 4 java processing

我试图通过传递图像宽度和高度的参数来设置处理 3.0中的窗口大小。但是,处理会抛出错误并要求检查参考部分,但这没有帮助。代码如下。

PImage img;
...

void setup(){
  img = loadImage("XYZ.JPG");
  float w = img.width;
  float h = img.height;
  size(int(w), int(h));
  image(img, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

和错误如下:

size() function cannot be used here
Run Code Online (Sandbox Code Playgroud)

Kev*_*man 5

如果您使用函数size()中的函数setup(),那么它必须是您调用的第一个函数,并且您不能向其中传递变量。

如果您确实需要将变量传递到函数中size(),请使用该settings()函数而不是setup().

PImage img;

void settings(){
  img = loadImage("XYZ.JPG");
  float w = img.width;
  float h = img.height;
  size(int(w), int(h));
}

void setup(){
  image(img, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)