Jaime Pérez Moena: Presentación al Lenguaje Abierto

De Casiopea
Revisión del 09:17 2 abr 2011 de Jaime.ignacio (discusión | contribs.) (Página creada con 'thumb|100px|center|Previsualización de la Imagen Código Processing <nowiki>import processing.pdf.*; PImage paisaje; float margenIz...')
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Previsualización de la Imagen

Código Processing

import processing.pdf.*; PImage paisaje; float margenIzquierda = 85; float margenArriba = 85; float margenDerecha = 85; float escala; boolean pinta; int x, y; void setup() { paisaje = loadImage("jaime.jpg"); size(1100, 500); smooth(); beginRecord(PDF, "retrato"+day()+hour()+minute()+".pdf"); float ancho = width - (margenIzquierda + margenDerecha); escala = ancho / (float)paisaje.width; strokeCap(SQUARE); background(255); x = y = 0; pinta = true; } void draw() { float spacer = 8; float plotX = map(x, 0, paisaje.width, margenIzquierda, width-margenDerecha); float plotY = map(y, 0, paisaje.height, margenArriba, margenArriba + (paisaje.height * escala)); color c = paisaje.get(x,y); if(pinta) pincel(plotX, plotY, c, spacer); if (x < paisaje.width - spacer) { x+= spacer; } else if(y < paisaje.height) { x = 0; y += spacer; } if (y > paisaje.height) { println("listo!"); endRecord(); pinta = false; } } void pincel(float x, float y, color c, float amp) { int achurados = (int)map(brightness(c), 100, 255, 100, 10); for (int i = 0; i < achurados; i++) { pushMatrix(); { translate(x + random(-amp,amp), y + random (-amp,amp)); rotate(hue(c)/100 * HALF_PI); strokeWeight((255 - brightness(c))/100 * amp/10); stroke(c, 100); noFill(); float largo = brightness(c)/255 * amp; beginShape(); vertex(-amp/30, 0); bezierVertex(-largo, -saturation(c)/55, amp/8, saturation(c)/55, largo, 0); endShape(); } popMatrix(); } }