Grafikobjekter

Fra Holstebro HTX Wiki
Skift til: navigering, søgning

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.

Visning af et Billede

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;
  }
}

Referencer

  1. PImage på Processing.org