Februar 23, 2012
PImage myImage; PVector farbeVector; int trackingWidth = 10; void setup() { size(474, 640); myImage = loadImage("abm_tasche.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); ellipse(mouseX, mouseY, trackingWidth, trackingWidth); // mausquadrat farbeVector.div(sq(trackingWidth+1)); // vektor farben werden dividiert fill(farbeVector.x,farbeVector.y,farbeVector.z); // farbauswahlquadraht linker bildrand smooth(); noStroke(); ellipse(118,268,113,113); ellipse(119,388,113,113); ellipse(118,506,113,113); println(farbeVector); farbeVector.set(0, 0, 0); }