Evite faixas pretas ao redirecionar uma imagem

Dezembro 2016


O problema


Acontece de desejar utilizar uma imagem como papel de parede para o desktop ou como economizador de ecrã.

Mas o problema é que as imagens tem dimensões diferentes daquelas do ecrã.

Por exemplo, com esta imagem:


(Foto de rich115 com licença CC)

Assim que ela estiver convertida em 1280x1024, aparecem grandes faixas pretas. Que pena, não é?



Com um pequeno script, podemos redimensionar a imagem, porém completando as faixas pretas com uma parte da própria imagem.

O resultado fica muito mais simpático:

Como ?


1) Baixe e instale ImageMagick
(No Windows, é ImageMagick que devemos baixar.) O tutorial, em inglês, pode ser acessado aqui

2) Crie o script nicefit.bat contendo:

@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) Converta a imagem utilizando o script:

nicefit photo.jpg 1280 1024 resultat.jpg


Pronto!

Outros exemplos



(Image de Rebecca_bexxi com licença CC)


(Image par peppers com licença CC)


(Image de Immanuel Giel com licença CC)

Nota


Este script pode ser adaptado sem problemas para bash.

Artigo original publicado por Sebsauvage


Veja também :
Este documento, intitulado « Evite faixas pretas ao redirecionar uma imagem  »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.