Alyssa Ruts: Tarea 8

De Casiopea



Título
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 8
AsignaturaImagen Escrita 2012
Del CursoImagen Escrita 2012
CarrerasDiseño Gráfico, Diseño Industrial
Alumno(s)Alyssa Ruts

/* 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("Kartika-48.vlw", 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);}