Etnablog.altervista.org :)

Visitatore: 1311411
Welcome ospite
Menu di accessibilità:
Dimensione carattere:

Home > Programmazione C > Imagemagick: come ottenere da una immagine .gif una thumbnail .png
Contenuto della pagina:
25 Giugno 2007

Imagemagick: come ottenere da una immagine .gif una thumbnail .png

imagemagick e le sue API 

Ho preso lo script che segue da questo sito: http://www.imagemagick.org/script/magick -wand.php

Anzitutto bisogna procurarsi gli strumenti (le librerie) che ci permetteranno di manipolare le immagini, quindi scaricate da Synaptic i seguenti e pacchetti:

- imagemagick
- libmagick9-dev

A questo punto, con un qualsiasi programma di testo, creiamo un file di testo, lo chiamiamo wand.c e copiategli dentro questo script:


#include <stdio.h>
#include <stdlib.h>
#include <wand/MagickWand.h>

int main(int argc,char **argv)
{
#define ThrowWandException(wand) 
{ 
  char 
    *description; 
 
  ExceptionType 
    severity; 
 
  description=MagickGetException(wand,&severity); 
  (void) fprintf(stderr,"%s %s %ld %sn",GetMagickModule(),description); 
  description=(char *) MagickRelinquishMemory(description); 
  exit(-1); 
}

  MagickBooleanType
    status;

  MagickWand
    *magick_wand;

  /*
    Read an image.
  */
  MagickWandGenesis();
  magick_wand=NewMagickWand();  
  status=MagickReadImage(magick_wand,"image.gif");
  if (status == MagickFalse)
    ThrowWandException(magick_wand);
  /*
    Turn the images into a thumbnail sequence.
  */
  MagickResetIterator(magick_wand);
  while (MagickNextImage(magick_wand) != MagickFalse)
    MagickResizeImage(magick_wand,106,80,LanczosFilter,1.0);
  /*
    Write the image as PNG and destroy it.
  */
  status=MagickWriteImages(magick_wand,"image.png",MagickTrue);
  if (status == MagickFalse)
    ThrowWandException(magick_wand);
  magick_wand=DestroyMagickWand(magick_wand);
  MagickWandTerminus();
  return(0);
}


A questo punto, da internet, servendovi di google, scaricate una qualsiasi immagine gif, bella grande possibilmente, e chiamatela "image.gif" (tutto minuscolo).

A questo punto compiliamo lo script usando questo comando:


  cc `Wand-config --cflags --cppflags` wand.c `Wand-config --ldflags --libs`


Otterrete così un file eseguibile chiamato a.out, eseguitelo scrivendo:

 

./a.out

 


otterete una piccola immagine .png , miniatura della vostra .gif.

Descrizioni usate nelle foto: 
Postato da: Etnablog in Programmazione C alle 21:57

Permalink | Commenti(0)
Inserisci commento

Commenti:

Nessun commento. Vuoi essere il primo?
Solo gli utenti registrati possono lasciare commenti
*1 user online
Caricamento pagina: 0.02 s