ImageMagick
ImageMagick software | |
---|---|
Genere | Elaborazione digitale delle immagini Visualizzatore di immagini |
Sviluppatore | ImageMagick Studio LLC |
Data prima versione | 1990 |
Ultima versione | 7.1.1.35 (14 luglio 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Licenza | ImageMagick License[1] (licenza libera) |
Sito web | imagemagick.org |
ImageMagick è un software libero multipiattaforma che fornisce una suite di strumenti per la creazione, modifica e visualizzazione di immagini bitmap.[2]
Storia
[modifica | modifica wikitesto]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 | modifica wikitesto]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 | modifica wikitesto]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 | modifica wikitesto]Le interfacce supportate per vari linguaggi di programmazione sono:
Linguaggio | Interfaccia |
---|---|
Ada |
|
C |
|
Ch[6] |
|
COM+ |
|
C++ |
|
Java |
|
LabVIEW |
|
Lisp |
|
Neko/haXe |
|
.NET |
|
Pascal |
|
Perl |
|
PHP |
|
Python |
|
REALbasic |
|
Ruby |
|
Tcl/Tk |
|
RPC XML |
|
Formati supportati
[modifica | modifica wikitesto]Lettura e scrittura
[modifica | modifica wikitesto]- 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 | modifica wikitesto]- 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 | modifica wikitesto]- ^ (EN) ImageMagick: License, su imagemagick.org. URL consultato il 18 marzo 2016.«the license is compatible with the GPL V3»
- ^ a b (EN) ImageMagick: Convert, Edit, Or Compose Bitmap Images, su imagemagick.org. URL consultato il 17 marzo 2017.
- ^ (EN) ImageMagick: Formats, su imagemagick.org. URL consultato il 17 marzo 2016.
- ^ (EN) ImageMagick: Application Program Interfaces, su imagemagick.org. URL consultato il 17 marzo 2016 (archiviato dall'url originale il 19 marzo 2016).
- ^ (EN) Examples of ImageMagick Usage Examples, su imagemagick.org. URL consultato il 17 marzo 2016.
- ^ (EN) Ch -- an embeddable interpreter, su softintegration.com. URL consultato il 18 marzo 2016.
- ^ (EN) Image Processing (ImageMagick), su php.net. URL consultato il 18 marzo 2016.
Bibliografia
[modifica | modifica wikitesto]- (EN) Michael Still, The Definitive Guide to ImageMagick, Apress, 2005, ISBN 978-1-59059-590-9.
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su ImageMagick
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su imagemagick.org.
- ImageMagick, su packages.debian.org.
- Repository sorgenti di ImageMagick, su github.com.
- (EN) Homepage di ImageMagick, su imagemagick.org. URL consultato il 17 marzo 2016.
- (EN) Homepage di GraphicsMagick, su graphicsmagick.org. URL consultato il 17 marzo 2016.
- (EN) Codice sorgente di ImageMagick, su github.com. URL consultato il 17 marzo 2016.