Mariana Oyanedel: trazo y pincel
De Casiopea
Título | Mariana Oyanedel: trazo y pincel |
---|---|
Asignatura | Imagen Escrita |
Del Curso | Imagen Escrita 2017 |
Alumno(s) | Mariana Oyanedel |
Archivo: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);
}