Grafikobjekter: Forskelle mellem versioner
Bar (diskussion | bidrag) m 1 version importeret |
Bar (diskussion | bidrag) Ingen redigeringsopsummering |
||
| Linje 1: | Linje 1: | ||
Eksemplet her tager udgangspunkt i PImage<ref>[https://processing.org/reference/PImage.html PImage] på Processing.org</ref>. | Eksemplet her tager udgangspunkt i PImage<ref>[https://processing.org/reference/PImage.html PImage] på Processing.org</ref>. | ||
Til koden hører 4 små billeder der er 120x120 pixel .jpg filer. Koden kan hentes i [[media:procImages.zip|denne ZIP-fil]]. | Til koden hører 4 små billeder der er 120x120 pixel .jpg filer. Koden kan hentes i [[media:procImages.zip|denne ZIP-fil]]. | ||
Nuværende version fra 24. okt. 2022, 21:11
Eksemplet her tager udgangspunkt i PImage[1].
Til koden hører 4 små billeder der er 120x120 pixel .jpg filer. Koden kan hentes i denne ZIP-fil.
Da der anvendes 4 billeder, så placeres de i et array, hvilket sker i to datastrukturer. Den ene datastruktur names indeholder filnavnene, og den anden datastruktur photos er der hvor billederne læses ind i programmets hukommelse.
Den sidste data-model er en simpel int-variabel, der angiver hvilket billede der vises. Den starter på 0, så det er pic1.jpg der vises.

I draw() vises blot det aktuelle billede.
For at kunne skifte mellem billederne etableres en mouseClicked()-eventhandler, der kaldes hver gang der er klikket på musen. Her tælles aktuel en frem hver gang, og begrænses til området 0 til 3.
Som det kan ses i ZIP-filen, så kan billederne placeres i en mappe under program-koden der hedder Data - dette er standard-stedet for processing at hente filer. Processing kan håndtere 4 forskellige billedfil-typer: .jpg - .png - .gif og .tga.
String [] names = {"Pic1.jpg", "Pic2.jpg", "Pic3.jpg", "Pic4.jpg"};
PImage [] photos = new PImage[names.length];
int aktuel = 0;
void setup() {
size(160, 160);
for (int n = 0; n < names.length; n++) {
photos[n] = loadImage(names[n]);
}
}
void draw() {
background(0);
image(photos[aktuel], 20, 20);
}
void mouseClicked() {
aktuel++;
if (aktuel == names.length) {
aktuel = 0;
}
}