Daniel Moris: Imagen Impresionista

De Casiopea
Daniel Moris: Imagen Impresionista



TítuloDaniel Moris: Imagen Impresionista
Palabras Clavetarea 8
Del CursoImagen Escrita 2012,
Alumno(s)Daniel Moris
ProfesorHerbert Spencer

Este trabajo pretende mostrar una imagen transformada al estilo impresionista. Destaca aquí uno de los puentes de la ciudad de Florencia, el cual, producto del trazo utilizado, da impresión de ser una pintura impresionista en la cual el paso del tiempo ha dañado.


Primer Tab:


import processing.pdf.*;

PImage fotiwis; // la foto: el encuadre, la escena, el paisaje PFont font; // la fuente tipográfica String[] code; // el texto del código

/* Al exportar un PDF, Processing translada las unidades de pixeles a puntos tipográficos.

1 pt = 0.0352778 cm 1 cm = 28.346438837 pt

  • /

float margenIzquierda = 30; float margenArriba = 20; float margenDerecha = 20; float margenAbajo = 20; float escala;

void setup() {

fotiwis = loadImage("fotiwis.jpg"); // se carga la imagen, se "construye" el objeto PImage ritoque size(609, 765, PDF, "Paisaje7.pdf"); // tamaño carta

// cálculos para escalar desde la imagen hacia el pincel

float ancho = width - (margenIzquierda + margenDerecha); escala = ancho/(float)fotiwis.width;

noStroke(); noLoop(); background(255);

font = createFont("Courier", 8); // construyo la tipografía a partir de una fuente de sistema textFont(font, 8);

code = loadStrings("el_trazo.pde"); // cargo el código "trazo" (el pincel) }

void draw() {

float spacer = 10;

// muestreo regular desde la foto, esto se puede modificar.... for (int y = 0; y < fotiwis.height; y += spacer) { for (int x = 0; x < fotiwis.width; x += spacer) {

// obtengo el color float plotX = map(x, 0, fotiwis.width, margenIzquierda, width-margenDerecha); float plotY = map(y, 0, fotiwis.height, margenArriba, margenArriba + (fotiwis.height * escala)); color c = fotiwis.get(x, y);

trazo(plotX, plotY, c, spacer); } } printCode(); println("----->PDF done!"); exit(); }

void printCode() { float interlinea = 0; for (int i = 0; i < code.length; i++) { // escribo cada línea de código en la pantalla text(code[i], width/4, 2 * margenArriba + fotiwis.height * escala + interlinea); interlinea += 15; } }


Segunda Tab:



void trazo (float x, float y, color c, float amp) {

 fill(c);
 

quad (x+random(4,5), y+random(5,6), x+random(2,6), y+random(4,6), x+random(3,7), y+random(6,8), x+random(4,6), y+random(5,6)); } //genera cuadriláteros pequeñitos de diferentes tamaños que dan la impresión de ser una pintura descascarándose.