Menu
Donnez votre avis

Eviter les bandes noires quand on redimensionne une image

Posez votre question

Le problème


Il arrive qu'on veuille utiliser une image comme papier-peint de bureau ou comme économiseur d'écran.
Mais le problème est que les images ont parfois des dimensions très différentes de celles de l'écran.


Par exemple, avec cette image:



(Photo par rich115 en licence CC)

Une fois convertie en 1280x1024, il nous reste de grandes bandes noires. Dommage, non ?




Avec un petit script, on peut redimensionner l'image, mais en remplissant les bandes noires avec une partie de l'image elle-même.
Le résultat est plus sympathique:

Comment ?


1) Téléchargez et installez ImageMagick
(Sous Windows, c'est ImageMagick-6.x.x-x-Q16-windows-dll.exe qu'il faut télécharger.)

2) Créez le script nicefit.bat contenant:
@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) Convertissez l'image en utilisant le script:
nicefit photo.jpg 1280 1024 resultat.jpg


Et voilà !

Autres exemples



(Image par Rebecca_bexxi sous license CC)


(Image par peppers sous licence CC)


(Image par Immanuel Giel sous licence CC)

Note


Note: Ce script devrait être adaptable sans problème pour bash.
Ajouter un commentaire

Commentaires

Commenter la réponse de Utilisateur anonyme
Enlever les yeux rouges
ImageMagick - Manipuler les images en ligne de commande