Archivi tag: imagemagick

Le icone raster su Android sono una noia, viva le shape drawable

Chi sviluppa web, o mobile utilizzando strumenti “simil-web” come Titanium e Ionic, da tempo ha imparato a utilizzare asset vettoriali o font, così da rendere impeccabile la resa sui dispositivi con risoluzioni diverse e facilitare operazioni come la modifica dinamica dei colori.
Purtroppo nel mondo dello sviluppo Android si tende ancora a utilizzare icone raster; per la scalatura nelle varie risoluzioni c’è chi fa tutto a mano, chi utilizza script di varia natura in combinazione con ImageMagick e chi si serve di strumenti online come Android Asset Studio.

Su Android l’approccio migliore al momento sembra quello delle Shape Drawables, ovvero immagini vettoriali definite in xml secondo un determinato formato, funzionalità disponibile solo dalla versione 5 di Android (Lollipop), ma abilitabile anche nelle versioni precedenti abilitando la Support Library.

Segnalo un bell’articolo che spiega benissimo come abilitare l’utilizzo degli asset vettoriali anche sulle versioni pre-lollipop e le modifiche da fare per evitare errori abbastanza str.nzi che possono far perdere qualche ora. Con i dovuti adattamenti tutto ciò vale anche per chi (come me) utilizza Xamarin.

Creazione dell’asset vettoriale da icone material e da svg

Qui sotto ci sono i passi da fare, più o meno, per crearsi con Android Studio un’icona vettoriale utilizzabile in Android. Moltissime sono già presenti tra quelle precaricate (material design), ma è possibile anche generarsele a partire dai propri svg.

Creazione di asset vettoriale da Android Studio

Creazione di asset vettoriale da Android Studio

Selezione di una delle icone material già presenti

Selezione di una delle icone material già presenti

Definizione dei dettagli dell'icona scelta

Definizione dei dettagli dell’icona scelta

Importazione di un'immagine raster in Inkscape

Importazione di un’immagine raster in Inkscape

Ridimensionamento dell'immagine vettoriale

Ridimensionamento dell’immagine vettoriale

Vettorizzazione dell'icona raster

Vettorizzazione dell’icona raster

Modalità di vettorizzazione

Modalità di vettorizzazione

Allineamento del tracciato vettoriale nell'immagine

Allineamento del tracciato vettoriale nell’immagine

Errore in fase di importazione dell'icona vettoriale in Android Studio

Errore in fase di importazione dell’icona vettoriale in Android Studio

Correzione dell'xml

Correzione dell’xml

Anteprima dell'svg importato in Android Studio

Anteprima dell’svg importato in Android Studio

Il risultato: icona vettoriale in formato xml

Il risultato: icona vettoriale in formato xml

Windows, git e bash

So che il titolo può sembrare strano, ma chi come me ha un pc con Windows a casa e un Mac al lavoro a volte sente la necessità di avere una shell “un po’ più Unix-like” anche sul pc, se non altro per evitare di tradurre script .sh in .bat, operazione che ha volte può risultare ardua.
Ci sono vari progetti che permettono di portare la shell dei sistemi Linux/Mac su Windows, MinGW e Cygwin su tutti, ma tutti noi abbiamo (o dovremmo avere) già installato git, quindi perché preocuparsi di installare dell’altro.

MinGW è infatti già incluso nell’installazione di git, e sebbene quando si apre il menù contestuale su una directory quel “Git bash” vicino a “Git init” e “Git gui” possa far pensare che per cliccarlo dobbiamo avere l’intenzione di usare Git, in realtà non è così.

Tasto destro del mouse e il gioco è fatto

Tasto destro del mouse e il gioco è fatto


Git bash apre semplicemente la shell bash sulla directory scelta e da lì possiamo dimenticarci dei comandi dos e utilizzare quelli che (dovremmo) conoscere bene.
La shell bash simulata su Windows grazie a MinGW

La shell bash simulata su Windows grazie a MinGW

Non sempre gli script .sh che ci portiamo dietro dal Mac girano al primo colpo, ma di solito qualche piccolo ritocco è sufficiente:

Script .sh per utilizzare ImageMagick su Windows

Script .sh per utilizzare ImageMagick su Windows


In questo esempio il comando convert di ImageMagick (popolare utility di manipolazione immagini) dava qualche problema a causa di un’omonimia con un altro comando già presente tra le variabili di sistema. È stato sufficiente esplicitare il percorso dell’eseguibile per far funzionare tutto a dovere.

Niente di trascendentale ma è comunque un piacere evitare inutili installazioni.