Tarea 8: paisaje con processing
De Casiopea
Archivo:Paisajeconprosessing2.pdf
Título | maroonbels |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | tarea 8 |
Asignatura | Imagen Escrita 2012, |
Del Curso | Imagen Escrita 2012, |
Carreras | Arquitectura |
Alumno(s) | Eduardo Andrés Segovia Jeria |
Profesor | Herbert Spencer |
URL | http://www.fondospantallagratis.com/wp-content/uploads/2009/09/Maroon Bells.jpg |
import processing.pdf.*; PImage maroonbels; // 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() {
maroonbels = loadImage("maroonbels.jpg"); // se carga la imagen, se "construye" el objeto PImage ritoque size(609, 765, PDF, "Paisajeconprosessing.pdf"); // tamaño carta
// cálculos para escalar desde la imagen hacia el pincel
float ancho = width - (margenIzquierda + margenDerecha); escala = ancho/(float)maroonbels.width;
noStroke(); noLoop(); background(255); font = createFont("Intense", 10, true); // construyo la tipografía a partir de una fuente de sistema textFont(font, 10);
code = loadStrings("trazo.pde"); // cargo el código "trazo" (el pincel)
}
void draw() {
float spacer = 10;
// muestreo regular desde la foto, esto se puede modificar.... for (int y = 0; y < maroonbels.height; y += spacer) { for (int x = 0; x < maroonbels.width; x += spacer) {
// obtengo el color float plotX = map(x, 0, maroonbels.width, margenIzquierda, width-margenDerecha); float plotY = map(y, 0, maroonbels.height, margenArriba, margenArriba + (maroonbels.height * escala)); color c = maroonbels.get(x, y); trazo(plotX, plotY, c, spacer);}
}
printCode(); texto(); println("Pdf listo presione Ctrl+K para verlo"); exit();
}
void printCode() {
float interlinea = 1; fill(0); for (int i = 0; i < code.length; i++) { // escribo cada línea de código en la pantalla text(code[i], width/4, 6 * margenArriba + maroonbels.height * escala + interlinea); interlinea += 15; }
} void texto() {
fill(0); text("Eduardo Segovia", width - margenDerecha,height - margenAbajo); text("imagen escrita", width - margenDerecha, (height - margenAbajo)+10);
}
/////////////////////////////////TRAZO//////////////////////////////////
//pincel usado en el trabajo void trazo(float x, float y, color c, float amp) {
fill(c); ellipse(x, y, map(saturation(c), 0, 255, amp, amp), map(brightness(c), 0, 255, amp, amp));}
//Eduardo Segovia arquitectura