Víctor Espinoza: tarea 8 pincel
De Casiopea
Título | Tarea 8; transformar foto con pincel creado |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | tarea 8 |
Asignatura | Taller Inicial Común 1ª y 2ª Etapa, |
Del Curso | Imagen Escrita 2012, |
Carreras | Diseño Gráfico"Diseño Gráfico" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property. |
Alumno(s) | Víctor Espinoza |
Profesor | Herbert Spencer |
/*
Imagen Escrita 2012: Construcción de un trazo (algoritmo pictórico de la luz y el color)
- /
import processing.pdf.*;
PImage ciudad; // 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()
{
ciudad = loadImage("datos2.jpg"); // se carga la imagen, se "construye" el objeto PImage chitandaeru size(609, 765, PDF, "datos.pdf"); // tamaño carta // cálculos para escalar desde la imagen hacia el pincel
float ancho = width - (margenIzquierda + margenDerecha); escala = ancho/(float)ciudad.width;
noStroke(); noLoop(); background(255);
font = createFont("CourierNewPSMT-48", 8); // construyo la tipografía a partir de una fuente de sistema textFont(font, 8);
code = loadStrings("trazo.pde"); // cargo el código "trazo" (el pincel)
}
void draw() {
float spacer = 2;
// muestreo regular desde la foto, esto se puede modificar.... for (int y = 0; y < ciudad.height; y += spacer) { for (int x = 0; x < ciudad.width; x += spacer) {
// obtengo el color float plotX = map(x, 0, ciudad.width, margenIzquierda, width-margenDerecha); float plotY = map(y, 0, ciudad.height, margenArriba, margenArriba + (ciudad.height * escala)); color c = ciudad.get(x, y);
trazo(plotX, plotY, c, spacer); } } printCode(); println("----->PDF done!"); exit();
}
void printCode() {
stroke(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], width/4, 2 * margenArriba + ciudad.height * escala + interlinea); interlinea += 15; }
}
/* Trazo Pictórico de Ejemplo, este texto es Imagen Escrita */
void trazo(float x, float y, color c, float amp) {
float v=210-saturation(c); stroke(v); // trazo elemental, deben cambiar todo este código point(x, y);}