bonjour
quelle est la nuance d'utilisation
entre
PImage, loadImage et image(id, x,y)
et
PImage, loadImage et set(x,y,id) ?
(dans la perspective de diaporamas lourds ( > 100 img jpg 1024))
Hors ligne
image() te permet d'afficher une image à partir de x,y comme coin gauche.
set() te permet de setter un pixel x,y donné dans une image.
mais il est conseillé de manipuler directement le tableau de pixels pixels[] de ta PImage.
Hors ligne
merci :-)
puisque les deux fonctionnent également en résultat d'affichage,
y a-t-il une différence au niveau du fonctionnement de l'application?
J'ai un peu expérimenté loadPixels, mais ici, la question est
à quoi sert d'avoir ces deux solutions plutôt qu'une seule ?
ou encore, différence entre image(x,y,id)
set(id,x,y) et
updatePixels();
Hors ligne
attention loadPixels() charge le tableau de pixels de ta sortie écran, ça n'a pas grand rapport avec une PImage.
cette fonction te permet de modifier le tableau pixels[] de ta sortie - encore une fois à ne pas confondre avec le tableau pixels[] d'une PImage.
par exemple, si tu veux afficher pixels par pixels une PImage sur ta sortie
// on suppose que l'image a la même taille que le sketch processing
PImage img = loadImage("monImage.jpg"); // je charge mon image
loadPixels(); // je charge le tableau pixels[] de ma sortie
for(int i = 0; i < img.width; i++){
for(int j= 0; j < img.height; j++){
pixels[ j * img.width + i ] = img.pixels[ j * img.width + i ];
}
}
updatePixels(); // doit être appelé afin d'appliquer la modif de pixels[]
mais tu aurais pu faire plus simplement :
PImage img = loadImage("monImage.jpg"); // je charge mon image
image(img, 0, 0);
La différence est que loadPixels(); ... updatePixels(); te permettent un traitement pixels par pixels tandis que image() affiche une image directement et permet de travailler sur l'échelle de ton image grâce à cette forme image(img, x, y, width, height) : http://processing.org/reference/image_.html
set() est l"équivalent de pixels[] en plus simple mais plus lent
Hors ligne
merci beaucoup je vais potasser ça :-)
Hors ligne