Come evitare le barre nere quando si ridimensiona un'immagine

Dicembre 2016


Il problema


A volte si desidera utilizzare un'immagine come sfondo di desktop o come screensaver.
Ma il problema è che le immagini a volte hanno dimensioni molto diverse di quelle dello schermo.

Ad esempio, con questa immagine :


(foto da rich115 con licenza CC)

Una volta convertita l'immagine in 1280x1024, abbiamo grandi bande nere sui lati. Peccato, no?



Con un piccolo script, è possibile ridimensionare l'immagine, ricolmando la parte nera con una porzione dell'immagine stessa.
Il risultato è più simpatico :

Come fare ?

  • Scarica ed installa ImageMagick
  • Crea lo script nicefit.bat contenente :

@echo off
@rem nicefit.bat - Nicely fit images to a resolution, replacing black stripes with colors matching the image and add a smooth shadow.
@rem License: This batch is in public domain, but the author would appreciate the credits (http://sebsauvage.net ).
@rem Requirement: This program requires ImageMagick 6.x or later.
@rem Syntax: nicefit.bat filename width height outputfilename
@rem Example: nicefit.bat myimage.jpg 1280 1024 result.bmp
SETLOCAL
set filename=%1
set width=%2
set height=%3
set outputfilename=%4
convert ( ( %filename% -gravity Center -crop "80x80%%+0+0" -resize "%width%x" +repage -crop "%width%x%height%+0+0" -resize "x%height%" +repage -crop "%width%x%height%+0+0" -blur 0x40 +repage ) ( %filename% -resize %width%x%height% -matte -background black -shadow 100x16 ) -gravity Center -composite ) ( %filename% -resize %width%x%height% ) -composite -flatten +repage -strip -quality 80 %outputfilename%



3) Converti l'immagine usando lo script :
nicefit photo.jpg 1280 1024 resultat.jpg

Ecco fatto !

Altri esempi



(Immagine da Rebecca_bexxi con licenza CC)


(Immagine da peppers con licenza CC)


(Immagine da Immanuel Giel con licenza CC)

Nota


Nota: Questo script dovrebbe essere facilmente adattabile per bash

Potrebbe anche interessarti :
Il documento intitolato « Come evitare le barre nere quando si ridimensiona un'immagine » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.