Guardando imágenes

Hasta ahora hemos usado Processing para crear imágenes, pero aún no podemos hacer gran cosa con ellas: ni guardarlas, ni exportarlas, ni insertarlas en otros documentos… Para ello necesitamos guardarlas como imagen. En realidad es muy sencillo, pero vamos a aprovechar para ver algunos métodos para disparar la acción de guardar la imagen.

Es tan simple como esto:

save("nombre.extensión");


P5 puede guardar imágenes en los siguientes formatos:

* TIFF (.tif)
* TARGA (.tga)
* JPEG (.jpg)
* PNG (.png)

Para indicarle cuál debe usar basta añadir al nombre de archivo la extensión adecuada.

Ejemplo 1

El uso más sencillo. Creamos la imagen y la guardamos, todo de una tacada.

  1. //programamos una imagen cualquiera
    
  2. ellipse(width/2, height/2, 80, 80);
    
  3.  
  4. //...y la guardamos como JPEG
    
  5. save("imagen.jpg");

Ejemplo 2

Creamos una animación y guardamos todos los fotogramas.

  1. float n = 0;
  2.  
  3. void setup(){
  4.   size(300,300);
  5.   background(#336699);
  6.   stroke(255);}
  7.  
  8. void draw(){
  9.   point(width/2 + cos(n) * 100, height/2 + sin(n) * 100);
  10.  
  11.   //guardamos cada imagen de la secuencia
  12.   save(n + "imagen.jpg"); 
  13.  
  14.     n = n + 0.05;
  15. }

En este ejemplo usamos la variable ‘n’ para dar diferentes nombres a cada imagen, o cada una sobrescribiría la anterior.

Ejemplo 3

Guardamos una imagen al hacer clic con el ratón

  1. //dentro de la función draw() escribimos:
  2. if (mousePressed == true){
  3.     save("nombre_de_la_imagen.jpg");
  4. }

Ejemplo 4

Guardamos al presionar cualquier tecla.

  1. //creamos una animación cualquiera
  2. void draw(){
  3.     point(random(width), random(height));
  4. }
  5.  
  6. //y usamos la función keyPressed() para evaluar si se pulsa una tecla
  7. void keyPressed() {
  8.     save("imagen.jpg");
  9. }

Ejemplo 5

Guardamos al presionar una tecla concreta.

  1. //creamos una animación cualquiera
  2. void draw(){
  3.     point(random(width), random(height));
  4. }
  5.  
  6. //y usamos la función keyPressed() para evaluar si se pulsa una tecla
  7. void keyPressed() {
  8.     //la imagen se guarda si se presiona la tecla 's'
  9.     if(key == 's'){
  10.         save("imagen.jpg");
  11.     }
  12. }

En este último ejemplo es posible programar varias teclas para guardar imágenes con diferentes nombres, y así guardar varios momentos de una misma animación.

Leave a Comment.