Diferencia entre revisiones de «Tarea 8: paisaje con processing»

De Casiopea
Sin resumen de edición
Sin resumen de edición
 
Línea 8: Línea 8:
|Profesor=Herbert Spencer,
|Profesor=Herbert Spencer,
|Alumnos=Eduardo Andrés Segovia Jeria,
|Alumnos=Eduardo Andrés Segovia Jeria,
|Imagen=Paisajeconprosessing.pdf
|Imagen=Paisajeconprosessing2.pdf
|URL=http://www.fondospantallagratis.com/wp-content/uploads/2009/09/Maroon_Bells.jpg
|URL=http://www.fondospantallagratis.com/wp-content/uploads/2009/09/Maroon_Bells.jpg
}}
}}

Revisión actual - 22:08 26 jun 2012

Archivo:Paisajeconprosessing2.pdf

Títulomaroonbels
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 8
AsignaturaImagen Escrita 2012,
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Eduardo Andrés Segovia Jeria
ProfesorHerbert Spencer
URLhttp://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