Februar 27, 2012
In dieser Übung wurde das vorher gelernte angewendet, um von einer Bildposition (die mittels Maus ausgewählt wird), den Farbdurchschnitt auszurechnen.PImage myImage; PVector farbeVector; int trackingWidth = 10; void setup() { size(500, 500); myImage = loadImage("868.jpg"); farbeVector = new PVector(0, 0, 0); // zweckentfremdeter Vektor, von xyz-Position zu RGB quasi } void draw() { image(myImage, 0, 0); loadPixels(); //zeigt Pixel an for (int x=0; x<width; x++) //startet bei 0, geht in die Breite bis Ende erreicht ist, jeweils um 1px verschoben { for (int y=0; y<height; y++) // same with height { int loc = x+y*width; // loc=location damit richtiger Pixel ausgewählt wird if (x>=mouseX && x<=mouseX+trackingWidth) // bereich auswählen für x { if (y>=mouseY && y<=mouseY+trackingWidth) // bereich für y { farbeVector.add(red(myImage.pixels[loc]), green(myImage.pixels[loc]), blue(myImage.pixels[loc])); //vektordaten werden addiert } } } } updatePixels(); fill(0,20); rect(mouseX, mouseY, trackingWidth, trackingWidth); // mausquadrat farbeVector.div(sq(trackingWidth+1)); // vektor farben werden dividiert fill(farbeVector.x,farbeVector.y,farbeVector.z); // farbauswahlquadraht linker bildrand rect(0,0,30,30); println(farbeVector); farbeVector.set(0, 0, 0); }