Jetez un oeil à this question, je ne peux pas beaucoup de commentaires sur le « pourquoi » des choses ici, mais pour autant que je peux comprendre, setSize()
court après l'installation est terminée, car il ne peut pas courir tandis que les choses (dans ce cas, l'arrière-plan) sont en train d'être dessinées. Déplacement de cette ligne à la fin de l'installation ne produit pas en dehors des limites exception:
final int w = 320;
final int h = 240;
PImage overlay;
void setup() {
background(0,200,150);
overlay = get();
surface.setSize(w, h);
}
void draw() {
tint(0,200,0);
image(overlay,50,0);
}
Modifier: Il semble que le get()
dans ce cas est saisissant seulement la taille de fenêtre par défaut de pixels
Il existe une solution pour cela - vous pouvez commencer en déclarant size
avec des dimensions raisonnables ou pratiquement toutes plus grandes que w
et h
, puis utilisez la méthode get()
avec 4 paramètres pour saisir l'image selon le w
et h
dimensions:
final int w = 320;
final int h = 240;
PImage overlay;
void setup() {
size(1000, 1000); //can be any numbers greater than w and h
background(0, 200, 150);
surface.setSize(w, h);
overlay = get(0, 0, w, h);
}
void draw() {
tint(0, 200, 0);
image(overlay, 50, 0);
}