Eu sei que existem vários programas do Windows para fazer isso, e o Photoshop tem uma opção "Salvar para a Web" que faz isso, mas eu quero uma linha de comando ou opção de processamento em lote para isso. Alguma ideia?
Eu sei que existem vários programas do Windows para fazer isso, e o Photoshop tem uma opção "Salvar para a Web" que faz isso, mas eu quero uma linha de comando ou opção de processamento em lote para isso. Alguma ideia?
Respostas:
Dê uma olhada no Imagemagick . Sua -strip
opção limpa uma imagem de qualquer perfil e comentário.
convert orig.jpg -strip result.jpg
ou
mogrify -strip orig.jpg
Aqui estão mais informações sobre como lidar com fotos com o Imagemagick.
strip
também retirou os canais verde e azul do meu círculo vermelho semi-transparente, deixando um círculo vermelho opaco sem metadados.
Eu uso o Mac OS X - atualmente 10.9 (Mavericks) - e gosto de usar o ExifTool para operações de metadados em lote como esta. Usaram-no a partir do Mac OS X 10.6 e até em diferentes tipos de Linux, como o Ubuntu, e ele funciona muito bem.
No que diz respeito aos scripts em massa, eu uso esse script Bash de maneira muito simples que usa find
para limpar todos os metadados das imagens; neste caso, imagens JPEG ( .jpg
):
find 'Path/To/The/Images' -type f -name '*.jpg' |\
while read FILENAME
do
exiftool -all= -overwrite_original_in_place "${FILENAME}"
done
Para usar o script, basta alterar 'Path/To/The/Images'
para corresponder ao caminho do diretório do arquivo de imagem real; pode ser um caminho completo ou relativo e, nesse caso, é relativo. E você pode alterar '*.jpg'
para corresponder a qualquer extensão de arquivo na qual deseja atuar ou até configurá-la para '*'
processar cegamente todos os arquivos. Eu costumo lidar com JPEGs, portanto, a .jpg
extensão neste pequeno script de exemplo.
E a mágica principal desse script é o exiftool
comando real que pode ser ainda mais simplificado para isso:
exiftool -all= -overwrite_original_in_place image_filename.jpg
O -all=
é o que limpa os metadados, definindo todos os campos de metadados para o valor que é igual a nada. O -overwrite_original_in_place
substituirá a imagem real. Ele não reprocessa a imagem após a leitura do arquivo, agindo nos metadados e gravando-o de volta no sistema. Sem esse sinalizador exiftool
, o arquivo original será copiado com uma extensão _original
anexada; então, neste caso, seria image_filename.jpg_original
. E o parâmetro final é simplesmente o nome do arquivo no qual você deseja atuar.
na verdade, o nconvert retira muito mais os jpgs
http://www.xnview.com/en/nconvert/#downloads
nconvert.exe -rmeta -rexifthumb -o small.jpg big.jpg