Mariana Oyanedel: trazo y pincel

De Casiopea



TítuloMariana Oyanedel: trazo y pincel
AsignaturaImagen Escrita
Del CursoImagen Escrita 2017
Alumno(s)Mariana Oyanedel
PDFArchivo:MarianaOyanedelmargaritas.pdf

import processing.pdf.*; // importar la librería de PDF

PImage img = createImage (200, 200, RGB); // declaro foto (objeto PImage) PFont font; // declaro font (objeto PFont) String[] code; // declaro un arreglo[] de texto int columnas, filas;

// los márgenes float margenIzquierda = 120; float margenArriba = 50; float margenDerecha = 120; float margenAbajo = 100; float escala;

void setup() {

 // defino las dimensiones de la página y el archivo de salida
 size(600, 800, PDF, "margaritas1.pdf");
 // construyo los objetos
img = loadImage("margaritas.jpg");
 font = createFont("Courier", 8); // monoespaciada
 code = loadStrings("trazo.pde");
 // definiciones plásticas
 textFont(font, 8);
 
 colorMode(HSB, 255);
 strokeCap(SQUARE);
 float ancho = width - (margenIzquierda + margenDerecha);
 escala = ancho/(float)img.width;

}

void draw() {

 background(255);
 
 float spacer = 4;
 //float xspacer = ???;
 // el muestreo
 int count = 0;

 
 for (int y = 0; y < img.height; y += spacer) {
   
   // if(count % 2 == 0){}
   for (int x = 0; x < img.width; x += spacer) {
     color c = img.get(x, y);
     // mapeo de coordenadas a la hoja de papel
     float plotX = map(x, 0, img.width, margenIzquierda, width-margenDerecha);
     float plotY = map(y, 0, img.height, margenArriba, margenArriba + (img.height * escala));
     trazo(plotX, plotY, c, spacer);
   }
   count ++;
 }
 printCode();
 println("----> OK! PDF done");
 exit();

}

void printCode() {

 fill(0);
 float interlinea = 0;
 for (int i = 0; i < code.length; i++) {
   // escribo cada línea de código en la pantalla
   text(code[i], margenDerecha, margenAbajo + img.height * escala + interlinea);
   interlinea += 11;
 }

}

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

 float brillo = brightness(c);
 float tam = map(brillo,10, 255, big,20);
 noStroke();
 fill(c);
 ellipse(x, y, tam, tam);

}