ImageMagick

software libero multipiattaforma

ImageMagick è un software libero multipiattaforma che fornisce una suite di strumenti per la creazione, modifica e visualizzazione di immagini bitmap.[2]

ImageMagick
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereElaborazione digitale delle immagini
Visualizzatore di immagini
SviluppatoreImageMagick Studio LLC
Data prima versione1990
Ultima versione7.1.1-30 (8 aprile 2024)
Sistema operativoMultipiattaforma
LinguaggioC
LicenzaImageMagick License[1]
(licenza libera)
Sito webimagemagick.org

Storia modifica

Venne creato nel 1987 da John Cristy quando lavorava presso la DuPont, per convertire immagini a 24 bit (16 milioni di colori) in immagini a 8 bit (256 colori), in modo che potessero essere visualizzate sulla maggior parte degli schermi. È stato pubblicato come freeware nel 1990 quando DuPont ha accettato di trasferire il copyright alla società ImageMagick Studio LLC, che è tuttora l'organizzazione che si occupa del progetto.

Nel maggio 2016, è stata scoperta una vulnerabilità attraverso la quale un utente malintenzionato può eseguire codice arbitrario su server che utilizzano l'applicazione per modificare le immagini caricate dall'utente. Gli esperti di sicurezza, inclusi i ricercatori di CloudFlare, hanno osservato l'uso effettivo della vulnerabilità nei tentativi di hacking attivo; il difetto di sicurezza era dovuto al fatto che il software utilizzava degli strumenti di backend senza prima controllare che i nomi dei percorsi e dei file fossero privi di comandi di shell impropri. La vulnerabilità non ha comunque influito sulle distribuzioni di ImageMagick che includevano una security policy configurata correttamente.

Descrizione modifica

ImageMagick è intercompatibile con almeno un centinaio di formati di immagini[3] per applicare trasformazioni di traslazione, riflessione, rotazione, regolazione dei colori, applicazione di effetti speciali o disegno di testo, linee, poligoni, ellissi o curve di Bézier, ecc.[2] È utilizzabile sia attraverso interfaccia a riga di comando sia nativamente su diversi linguaggi di programmazione utilizzando apposite API.[4]

Esempi di utilizzo modifica

Seguono alcuni esempi da riga di comando:[5]

Convertire un'immagine dal formato JPEG al PNG:

convert immagine.jpg risultato.png

Ridimensionare un'immagine alla dimensione di 300x200px:

mogrify -resize 300x200 immagine

Ridimensionare tutte le immagini con estensione .jpg presenti nella directory corrente ad una larghezza di 300px, calcolando l'altezza per mantenere le proporzioni:

mogrify -resize 300x *.jpg

Rimpicciolire un'immagine della metà e cambiarla di formato:

convert immagine.jpg -resize 50% risultato.png

API modifica

Le interfacce supportate per vari linguaggi di programmazione sono:

Linguaggio Interfaccia
Ada
  • G2F
C
  • MagickWand
  • MagickCore
Ch[6]
  • ChMagick
COM+
  • ImageMagickObject
C++
  • Magick++
Java
  • JMagick
  • Im4java
LabVIEW
  • LVOOP ImageMagick
Lisp
  • CL-Magick
Neko/haXe
  • NMagick
.NET
  • MagickNet
Pascal
  • PascalMagick
Perl
  • PerlMagick
PHP
  • MagickWand for PHP
  • IMagick[7]
  • phMagick
Python
  • PythonMagickWand
  • PythonMagick
REALbasic
  • MBS Realbasic ImageMagick
Ruby
  • RMagick
  • MagickWand for Ruby
  • MiniMagick
  • QuickMagick
Tcl/Tk
  • TclMagick
RPC XML
  • RemoteMagick

Formati supportati modifica

Lettura e scrittura modifica

  • 8BIM (formato proprietario Adobe Photoshop)
  • APP1 (formato proprietario Adobe Photoshop)
  • AVS (immagine AVS X)
  • BIE (Joint Bi-level Image Experts Group interchange format)
  • BMP (Windows bitmap)
  • CIN (Kodak Cineon Image Format)
  • CMYK (campionatura grezza ciano, magenta, giallo e nero)
  • CMYKA (campionatura grezza ciano, magenta, giallo, nero e canale alpha)
  • DCX (ZSoft IBM PC Paintbrush multipagina)
  • DIB (Windows bitmap)
  • DPX (Digital Picture Exchange)
  • EPDF (immagina incapsulata in PDF)
  • EPI (Adobe Encapsulated PostScript Interchange format)
  • EPS (Adobe Encapsulated PostScript)
  • EPSF (Adobe Encapsulated PostScript)
  • EPSI (Adobe Encapsulated PostScript Interchange format)
  • EPT (Adobe Encapsulated PostScript with TIFF preview)
  • FAX (Group 3 FAX)
  • FITS (Flexible Image Transport System)
  • FPX (FlashPix Format)
  • G3 (Group 3 FAX)
  • GIF (CompuServe graphics interchange format)
  • GIF87 (CompuServe graphics interchange format (version 87a))
  • GRAY (Raw gray samples (8 or 16 bits, depending on the image depth))
  • H (Internal format)
  • HTML (HTML con mappa immagine)
  • ICB (Truevision Targa image)
  • ICM (ICC Color Profile)
  • IPTC (IPTC Newsphoto)
  • JBG (Joint Bi-level Image experts Group interchange format)
  • JBIG (Joint Bi-level Image experts Group interchange format)
  • JNG (Multiple-image Network Graphics)
  • JP2 (JPEG-2000 JP2 File Format Syntax)
  • JPC (JPEG-2000 Code Stream Syntax)
  • JPEG (Joint Photographic Experts Group JFIF format)
  • JPG (Joint Photographic Experts Group JFIF format)
  • LOGO (ImageMagick Logo)
  • M2V (MPEG-2 Video Stream)
  • MAP (Colormap intensities (8 or 16 bits, depending on the image depth) and indices (8 or 16 bits, depending n whether colors exceeds 256).)
  • MIFF (Magick Image File Format)
  • MNG (Multiple-image Network Graphics)
  • MONO (Bi-level bitmap in least-significant- -byte-first order)
  • MPEG (MPEG-1 Video Stream)
  • MPG (MPEG-1 Video Stream)
  • MSL (Magick Scripting Language)
  • MTV (MTV Raytracing image format)
  • MVG (Magick Vector Graphics)
  • OTB (On-the-air bitmap)
  • P7 (Xv thumbnail format)
  • PAL (16bit/pixel interleaved YUV)
  • PALM (Palm Pixmap format)
  • PBM (Portable bitmap format (black and white))
  • PCD (Photo CD)
  • PCDS (Photo CD)
  • PCT (Apple Macintosh QuickDraw/PICT)
  • PCX (ZSoft IBM PC Paintbrush)
  • PDB (Palm Database ImageViewer Format)
  • PDF (Portable Document Format)
  • PGM (Portable graymap format (gray scale))
  • PICON (Personal Icon)
  • PICT (Apple Macintosh QuickDraw/PICT)
  • PM (X Window system pixmap (color))
  • PNG (Portable Network Graphics)
  • PNM (Portable anymap)
  • PPM (Portable pixmap format (color))
  • PS (Adobe PostScript)
  • PS2 (Adobe PostScript livello II)
  • PS3 (Adobe PostScript livello III)
  • PSD (Adobe Photoshop bitmap)
  • PTIF (Pyramid encoded TIFF)
  • RAS (SUN Rasterfile)
  • RGB (Raw red, green, and blue samples (8 or 16 bits, depending on the image depth))
  • RGBA (Raw red, green, blue, and matte samples (8 or 16 bits, depending on the image depth))
  • ROSE (70x46 Truecolor test image)
  • SGI (Irix RGB image)
  • SUN (SUN Rasterfile)
  • SVG (Scalable Vector Graphics)
  • TEXT (Raw text)
  • TGA (Truevision TGA image)
  • TIF (Tagged Image File Format)
  • TIFF (Tagged Image File Format)
  • TXT (Raw text)
  • UYVY (16bit/pixel interleaved YUV)
  • VDA (Truevision Targa image)
  • VICAR (VICAR rasterfile format)
  • VID (Visual Image Directory)
  • VIFF (Khoros Visualization image)
  • VST (Truevision Targa image)
  • WBMP (Wireless Bitmap (level 0) image)
  • X (X Image)
  • XBM (X Window system bitmap (black and white))
  • XPM (X Window system pixmap (color))
  • XV (Khoros Visualization image)
  • XWD (X Window system window dump (color))
  • YUV (CCIR 601 4:1:1)

Sola lettura modifica

  • AFM (Adobe font metrics)
  • ART (PF1: 1st Publisher)
  • AVI (Audio/Visual Interleaved)
  • CUT (DR Halo)
  • DCM (Digital Imaging and Communications in Medicine image)
  • DPS (Display PostScript)
  • DPX (Digital Moving Picture Exchange)
  • FILE (Uniform Resource Locator)
  • FTP (Uniform Resource Locator)
  • GRADIENT (Gradual passing from one shade to another)
  • GRANITE (Granite texture)
  • HTTP (Uniform Resource Locator)
  • ICO (Microsoft icon)
  • ICON (Microsoft icon IMPLICIT)
  • LABEL (Text image format)
  • MPR (Magick Persistent Registry)
  • MSL (Magick Scripting Language)
  • NETSCAPE (Netscape 216 color cube)
  • NULL (Constant image of uniform color)
  • PDB (Pilot Image Format)
  • PFA (Adobe Type 1 font file)
  • PFB (Adobe Type 1 font file)
  • PFM (Adobe Type 1 font file)
  • PIX (Alias/Wavefront RLE image format)
  • PLASMA (Plasma fractal image)
  • PWP (Seattle Film Works)
  • RLA (Alias/Wavefront image)
  • RLE (Utah Run length encoded image)
  • SCT (Scitex HandShake)
  • SFW (Seattle Film Works)
  • STEGANO (Steganographic image)
  • SVG (Scalable Vector Graphics)
  • TILE (Tile image with a texture)
  • TIM (PSX TIM)
  • TTF (TrueType font)
  • WMF (Windows Metafile)
  • WPG (WordPerfect Graphics)
  • XC (Constant image uniform color)
  • XCF (GIMP image)

Note modifica

  1. ^ (EN) ImageMagick: License, su imagemagick.org. URL consultato il 18 marzo 2016.
    «the license is compatible with the GPL V3»
  2. ^ a b (EN) ImageMagick: Convert, Edit, Or Compose Bitmap Images, su imagemagick.org. URL consultato il 17 marzo 2017.
  3. ^ (EN) ImageMagick: Formats, su imagemagick.org. URL consultato il 17 marzo 2016.
  4. ^ (EN) ImageMagick: Application Program Interfaces, su imagemagick.org. URL consultato il 17 marzo 2016 (archiviato dall'url originale il 19 marzo 2016).
  5. ^ (EN) Examples of ImageMagick Usage Examples, su imagemagick.org. URL consultato il 17 marzo 2016.
  6. ^ (EN) Ch -- an embeddable interpreter, su softintegration.com. URL consultato il 18 marzo 2016.
  7. ^ (EN) Image Processing (ImageMagick), su php.net. URL consultato il 18 marzo 2016.

Bibliografia modifica

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica