Daniel Galaz Tarea 8: Pincel Curvo
De Casiopea
Título | Imagen Escrita: Judokas con pincel curvo |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | tarea 8, imagen escrita |
Período | 2012- |
Asignatura | Taller Inicial 1ª y 2ª Etapa, |
Del Curso | Imagen Escrita 2012, |
Carreras | Arquitectura |
Alumno(s) | Daniel Galaz |
Profesor | Herbert Spencer |
Archivo:Judokas.pdf |
/*Basado en el ejemplo del Profesor Herbert Spencer,se usa un pincel con forma curva para trazar la imagen en processing*/ import processing.pdf.*; PImage JUDO; PFont font; String[] code; /*Conversión de pixeles a puntos tipográficos 1 pt = 0.0352778 cm 1 cm = 28.346438837 pt */ float margenIzquierda = 50; float margenArriba = 30; float margenDerecha = 40; float margenAbajo = 30; float escala; void setup() { JUDO = loadImage("JUDO.jpg"); size(609, 765, PDF, "judokas.pdf"); // cálculos para escalar desde la imagen hacia el pincel float ancho = width - (margenIzquierda + margenDerecha); escala = ancho/(float)JUDO.width; noStroke(); noLoop(); background(255); font = createFont("SegoeUI", 7); textFont(font, 10); code = loadStrings("mi_pincel.pde"); } void draw() { float spacer = 5; // muestreo regular desde la foto for (int y = 0; y < JUDO.height; y += spacer) { for (int x = 0; x < JUDO.width; x += spacer) { float plotX = map(x, 5, JUDO.width, margenIzquierda, width-margenDerecha); float plotY = map(y, 5, JUDO.height, margenArriba, margenArriba + (JUDO.height * escala)); color c = JUDO.get(x, y); pincel(plotX, plotY, c, spacer); } } printCode(); println("Se ha creado el PDF"); 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 + JUDO.height * escala + interlinea); interlinea += 10; } } /***********************FORMA DEL PINCEL*******************************/ void pincel(float x, float y, color c, float amp) { fill (c); stroke (brightness(c)); line(x-amp, y+amp, x+amp, y-amp); ellipse (x+amp, y+amp, map(hue(c), 0, 145, 0, 4), 3); ellipse(x, y, map(saturation(c), 0, 90, 0, 9), 9); map(saturation(c), 0, 90, 0, 9); map(hue(c), 0, 145, 0, 4); }