Magazine Tecnologia

HowTo: Smussare i bordi e aggiungere l'ombra alle immagini

Creato il 24 marzo 2011 da Idl3

Avevo gia' scritto in un articolo precedente ( HowTo: manipolare immagini da terminale) alcune manipolazioni delle immagini con ImageMagick. Tra le quali l' aggiunta di ombre. Questa volta arricchiamo il tutto smussando gli angoli. Vediamo le due operazioni separatamente e poi insieme.

Prima di tutto partiamo dalla nostra solita immagine originale, anche se, essendo stata da me gia' utilizzata per l' articolo sull'aggiunta del watermark nelle foto, non e' che sia piu' cosi' tanto originale. Comunque la foto e' questa:

HowTo: Smussare i bordi e aggiungere l'ombra alle immagini

E' un'immagine 500x375 (le misure ci servono per i comandi che andro' a scrivere).

Smussiamo gli angoli

Prima di tutto vediamo come smussare gli angoli, stabiliamo le varie misure:
$ convert -size 500x375 xc:none -stroke none -draw "roundRectangle 5,5 495,370, 12,12" originale.jpg -compose SrcIn -composite smussata.png
Stiamo dicendo di creare un'immagine 500x375 trasparente (ragion per cui siamo passati dal JPG dell'originale al PNG) sulla quale disegnare un rettangolo con gli angoli smussati ( roundRectangle x0,y0 x1,y1 wc,hc) posizionato alle coordinate 5 in alto a sinistra e 5 in basso a destra, con larghezza degli angoli di 12 e altezza degli angoli di 12 contenete la nostra foto originale.
Ed ecco il risultato:

HowTo: Smussare i bordi e aggiungere l'ombra alle immagini

Aggiungiamo l'ombra

Ora aggiungiamo l'ombra alla nostra immagine smussata, propongo due opzioni. Questa e' la prima:
$ convert smussata.png \( +clone -background black -shadow 80x4+3+3 \) +swap -background none -mosaic ombrata-1.png

HowTo: Smussare i bordi e aggiungere l'ombra alle immagini

e questa e' la seconda:
$ convert -page +5+5 smussata.png \( +clone -background black -shadow 50x2+5+5 \) +swap -background none -mosaic ombrata-2.png
HowTo: Smussare i bordi e aggiungere l'ombra alle immagini

Le differenze sono appena visibili, ma ci sono. Con entrambi i comandi stiamo dicendo di simulare un'ombra ( shadow) con la percentuale di opacita' pari all'80% nel primo e al 50% nel secondo e sigma pari a 4 nel primo e 2 nel secondo. Mentre l'immagine rispetto all'ombra (stabilendone di fatto le dimensioni) dovra' posizionarsi alle coordinate +/-x e +/-y (nel nostro caso x e y coincidono e sono +3 nel primo +5 nel secondo). Il tutto su sfondo trasparente. Nel secondo comando in piu' c'e' page che mette l'immagine sopra una tela virtuale prima di fare il resto delle operazioni.

Tutti insieme

Ovviamente possiamo fare entrambe le cose (smussare gli angoli e inserire l'ombra) con un unico comando. E' un po' lungo, ma e' bello. Eccolo:
$ convert -size 500x375 xc:none -stroke none -draw "roundRectangle 5,5 495,370, 12,12" originale.jpg -compose SrcIn -composite -compose over \( +clone -background black -shadow 50x2+5+5 \) +swap -background none -mosaic smussata-e-ombrata.png

HowTo: Smussare i bordi e aggiungere l'ombra alle immagini

Ovviamente se vi sembra troppo lungo potete inserirlo in uno script, renderlo eseguibile e richiamarlo con un solo comando da terminale.

Fonte: Help with round corners and drop shadows


Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :

Magazine