Danilo Garrido, Imagen Timbrada

De Casiopea
Batman Timbrado



TítuloBatman Timbrado
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 8
Del CursoImagen Escrita 2012,
CarrerasDiseñ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.
Alumno(s)Danilo Garrido
ProfesorHerbert Spencer
/* el concepto que se plantea es el de crear una fota a 
partir de el constante y fino timbrado de una imagen,
en este caso, la imagen es la del personaje Batman,
de DC Universe,hecho con finos timbres de su simbolo*/


PImage Batman;
PFont font;      // la fuente tipográfica
String[] code;   // el texto del código
float margenIzquierda= 30;
float margenArriba = 20;
float margenDerecha =20;
float margenAbajo =20;
float escala;

void setup(){
  Batman =loadImage("Batman.jpg");
 size(609,765);
background(255);
  noStroke();
   font = createFont("verdana", 8); 
  textFont(font, 8);

  code = loadStrings("trazo.pde"); 
  float ancho= width-(margenIzquierda+margenDerecha);
  escala= ancho/(float)Batman.width;

}

void draw(){
float spacer=12; 
for(int x=0;x<Batman.width;x +=spacer){
  for(int y=0;y<Batman.height;y+=spacer){
   
    
  float plotX = map(x, 0, Batman.width, margenIzquierda, width-margenDerecha);
      float plotY = map(y, 0, Batman.height, margenArriba, margenArriba + (Batman.height * escala));
      color c = Batman.get(x, y);
fill(c);
trazo(plotX,plotY,c,spacer);
  }
 }
  printCode();
  
}

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 + Batman.height * escala + interlinea);
    interlinea += 10;
  }
}
///////////////////////////////////////////////////



void trazo(float x, float y, color c, float amp) {
  fill(c);
  
  arc(x+35, y+8, 35, 40, 0, PI/2); 
  arc(x-20, y+8, 35, 40, PI/2, PI);  
  arc(x-20, y+8, 35, 40, PI, TWO_PI-PI/2);
  arc(x+35, y+8, 35, 40, TWO_PI-PI/2, TWO_PI);
  ellipse(x+8, y-6, 14, 15);
  triangle(x, y+15, x+7, y+35, x+15, y+15);
  triangle(x-25, y-2, x-25, y+19, x+15, y-2);
  triangle(x+3, y-2, x+40, y+19, x+40, y-2);
  triangle(x-25, y-2, x-19, y-6, x-20, y-2);
  triangle(x-20, y+15, x-19, y+15, x-20, y+15);
  triangle(x+40, y-2, x+36, y-6, x+35, y-2);
  triangle(x+3, y+4, x-4, y+15, x-17, y+4);
  triangle(x+12, y+4, x+19, y+15, x+30, y+4);
  triangle(x, y-2, x, y-17, x+8, y-2);
  triangle(x+15, y-2, x+15, y-17, x+7, y-2);
  triangle(x, y-2, x, y-4, x-5, y-2);
  triangle(x+15, y-2, x+15, y-4, x+18, y-2);
  triangle(x-20, y-2, x-20, y-4, x-5, y-2);
  triangle(x+35, y-2, x+35, y-4, x+20, y-2);
  triangle(x-20, y-4, x-20, y-12, x-10, y-12);
  triangle(x+35, y-4, x+35, y-12, x+25, y-12);
  triangle(x-20, y+19, x-20, y+29, x-10, y+29);
  triangle(x+35, y+19, x+35, y+29, x+25, y+29);
  rect(x, y, 15, 15);
}