Levysoft

Convertire da riga di comando in Mac OS X un file icona .ICNS in un file di immagine PNG

A volte capita di usare dei programmi di grafica particolari (spesso su piattaforma Mac OS X) che usano, per il salvataggio, un solo formato di output: l’ICNS.
Per chi non lo sapesse, il formato Apple Icon Image (ICNS) è il formato standard per le icone utilizzato esclusivamente per Mac OS X e sviluppato dalla Apple stessa. Questo formato supporta icone di varie dimensioni: 16×16, 32×32, 48×48, 128×128, 256×256 e 512×512 pixels, oltre che il canale alfa per la trasparenza e la sovrapposizione di più’ immagini (per ottenere, per esempio, l’effetto di una cartella aperta e chiusa). Il formato ICNS, in realtà, e’ semplicemente composto da un massimo di 5 immagini tiff sovrapposte: spesso sono solo di grandezze diverse altre volte, invece, sono immagini diverse a seconda dello stato che l’icona deve assumere in relazione al programma che la gestisce.

A differenza del formato ICNS, invece, i file icona .ICO del sistema operativo Windows sono delle piccole immagini raster che, nella loro accezione originale, supportano la trasparenza e la Multi-risoluzione 16×16 pixel, 32×32 pixel, 64×64 pixel fino ad arrivare, solo con Windows Vista, a 256×256 pixel in PNG compresso.

Come avete potuto intuire, sarà quindi molto facile imbattersi in grafici professionisti e in programma di grafica che, prediligono il formato ICNS poiché, è estremamente più potente e flessibile rispetto al classico formato .ICO di Windows (oltre al fatto, forse ovvio, che molti software di grafica sono nati e vivono tuttora nel mondo Mac, la piattaforma migliore, a detta di molti, per sviluppare grafica). Non a caso, infatti, molti dei più importanti siti di grafica professionale usano quasi esclusivamente questo formato.

Ma le icone .ICNS si possono trovare anche all’interno dei programmi per Mac OS X, che altro non sono che directory con estensioni .app. Per esempio, se vogliamo visualizzare il file ICNS del calendario di Mac OS X (iCal), basterà aprire il contenuto del pacchetto (tasto destro sull’applicazione interessata e selezionare dal menu a comparsa “Mostra contenuto pacchetto“) e navigare nella cartella Contents/Resources e qui troverete, tra gli altri file, anche una file icona .icns (iCal/Contents/Resources/App-empty.icns) che altro non è che l’icona visualizzata nel Finder dall’applicazione stessa.

Se si apre con Anteprima questo file icona è possibile apprezzare come sia composto da più immagini tiff (per la precisione 5) di dimensioni diverse. Ecco un esempio per il file icona della applicazione iCal:

Convertire una icona ICNS in PNG da riga di comando

A volte, però, si potrebbe avere la necessità di dover convertire il formato ICNS in un più classico formato PNG, magari se si vuole riutilizzare l’immagine dell’icona su un sito web. Oltre a tool online come iConvert o ad applicativi per Mac OS X come il blasonato Img2icns, non tutti sanno che lo stesso sistema operativo Mac OS X ha un tool da riga di comando che deriva dal BSD, sips (scriptable image processing system), che permette di eseguire questa operazione in completa autonomia, senza dover installare software di terze parti. In realtà sips è usato correntemente nella suite degli “Image Events” di AppleScript, tanto da poter lancare gli stessi comandi da interfaccia grafica, ma è indubbio che è veramente comodo e veloce avere sempre a disposizione da riga di comando questo programma.

Basterà, quindi, aprire il Terminale e digitare la seguente riga:


sips -s format png fileicon.icns --out fileicon.png

e in pochi istanti il file icns verrà convertito, con le stesse dimensioni in pixel, nel formato PNG. Ma le funzionalità di questo programma sono molte: basterà aggiungere l’opzione “–rotate 90” (-rotate degreesCW) per ruotare di 90 gradi l’immagine PNG corrispondente, mentre aggiungendo “-flip horizontal|vertical” si potrà a tutti gli effetti rovesciare, ribaltare l’immagine. Quindi si potrà anche, con l’opzione “–cropToHeightWidth pixelsH pixelsW” eseguire il crop, ovvero il ritaglio della immagine, e quindi con “–resampleHeightWidth pixelsH pixelsW” la si potrà ridimensione. Tutto con una sola riga di comando, come nella vecchia ma mai tramontata potente filosofia unix.

Come creare un file ICNS

Una volta estratta l’icona ICNS in un formato grafico comune come il PNG potete elaborare l’immagine e usarla su un sito web oppure potreste voler ricreare di nuovo una nuova icona ICNS per una qualsiasi vostra applicazione. Per farlo potete usare un tool messo a disposizione gratuitamente da Apple nella suite dell’SDK per i Developer (presente in ogni DVD di installazione del sistema operativo o direttamente scaricabile anche dal sito Apple): Icon Composer.app (/Developer/Applications/Utilities/Icon Composer.app). Il programma è veramente semplice ed intuitivo perché vi mostrerà 5 aree diverse ognuna per ciascuna risoluzione consentita dove potete fare un semplice drag e drop dell’immagine desiderata da associare.
Vi lascio ad un video esemplificativo per la spiegazione passo passo: