Se tiver imagens suficientes no seu computador e estas estiverem a ocupar demasiado espaço, é definitivamente possível reduzir o seu tamanho, mesmo sem perder qualidade. Isto também pode ser muito útil ao carregar imagens para o armazenamento na nuvem.
JPEG e PNG são os formatos de imagem mais comuns na Internet, pelo que poderá otimizar quase todas as imagens
Existe um utilitário chamado jpegoptim, uma ferramenta de linha de comandos que pode ser utilizada para comprimir imagens JPEG, JPG e JFIF sem perda de qualidade. O utilitário optimiza as imagens com base nas tabelas Huffman. O algoritmo JPEG usa a compressão como está, mas esta compressão é conseguida com perda de qualidade, e aqui podemos otimizar o tamanho sem alterar a imagem.
Para instalar o utilitário no Ubuntu, Debian e distribuições baseadas, execute:
$ sudo apt install jpegoptim
No Fedora, Red Hat, CentOS e outras distribuições baseadas neles as coisas são um pouco mais complicadas, terá que adicionar o repositório epel-release primeiro. Pode fazer isso com um comando como este:
$ sudo yum install epel-release
Ou:
$ sudo dnf install epel-release
Depois pode instalar o jpegoptim a partir do repositório que acabou de adicionar:
$ sudo yum install jpegoptim
Or:
$ sudo dnf install jpegoptim
Vamos dar uma olhada em como usar o jpegoptim. Usar o utilitário de compressão de imagens do Linux é muito fácil. Tudo o que precisa de fazer é executar o programa e passar-lhe um nome de ficheiro. Esta é a sintaxe:
$ jpegoptim optiona file_name.jpeg
Vamos ver as opções do utilitário:
-d
- especifica a pasta na qual salvar as imagens finalizadas;-f
- otimização forçada;-m
- indicador de qualidade, cancela a compressão sem perdas e define o nível de qualidade de 0 a 100, quanto mais, melhor;-n
- não executa a otimização real, apenas mostra o resultado;-S
- define o tamanho da imagem finalizada, pode ser especificado em percentagem ou em kilobytes;-o
- substitui o ficheiro fonte;-p
- guarda as marcas de tempo;-P
- guarda os direitos do ficheiro.Vamos ver como otimizar imagens no linux com o jpegoptim. Primeiro, vamos ver o tamanho original:
$ du image.jpg
A seguir fazemos a otimização mais simples:
$ jpegoptim image.jpg
Depois, olhamos novamente para o tamanho:
$ du image.jpg
Como podem ver, a compressão jpg funcionou, e abrindo a imagem em qualquer programa gráfico não haverá diferença ou degradação na qualidade, a imagem original e a finalizada serão idênticas. À esquerda está a imagem optimizada, à direita está a original:
Se quiser, pode comprimir a imagem até um determinado tamanho, mas nesse caso não será sem perdas:
$ jpegoptim --size=250k image.jpeg
A imagem será comprimida, mas a qualidade deteriorar-se-á visivelmente. Se existirem muitas imagens, pode facilmente utilizar a compressão em lote. Basta ir à pasta com as imagens e executar o comando de compressão, especificando uma máscara em vez de um ficheiro, por exemplo:
$ cd images/
jpegoptim *.jpg
Também é possível listar mais de uma imagem de cada vez:
$ jpegoptim image1.jpg image2.jpg
Para otimizar todas as imagens de uma determinada pasta, pode utilizar o comando xargs juntamente com find. Por exemplo, comprimir todas as imagens na pasta atual com move to the ~/compressed folder:
$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p
É isso, agora você sabe como comprimir imagens jpg no Linux. A seguir, vamos falar sobre como comprimir imagens png. Isto também é muito simples.
PNG ou Portable Network Graphics é um formato de imagem bitmap concebido para substituir o imperfeito formato GIF em termos de compressão e reprodução de cores. O tamanho das imagens PNG pode variar muito, dependendo de vários factores, como a profundidade de cor, o entrelaçamento, o filtro antes da compressão, o algoritmo de compressão utilizado, etc.
O OptiPNG é um utilitário de consola que permite otimizar imagens PNG. Nomeadamente, comprimir o tamanho, recuperar metadados, verificar a integridade, etc. Com o OptiPNG pode comprimir ficheiros sem perda de qualidade, tal como fizemos com o formato Jpeg.
Se estiver a usar o Ubuntu, o programa está nos repositórios oficiais e pode instalá-lo muito facilmente. Para instalar o optipng no Debian, Ubuntu e derivados digite:
$ sudo apt install optipng
No Red Hat, CentOS ou Fedora é feito exatamente da mesma forma, apenas com um gestor de pacotes diferente:
$ sudo yum install optipng
Ou:
$ sudo dnf install optipng
A sintaxe do utilitário é muito simples. Pode utilizá-lo exatamente da mesma forma que o jpegoptim:
$ optipng ioptions file_name.png
Vamos dar uma olhada nas opções do utilitário:
-backup
- guarda cópias dos ficheiros modificados;-dir
- pasta para onde escrever os ficheiros;-force
- força a escrita do ficheiro de saída;-out
- escreve o ficheiro de saída
para o ficheiro especificado;-simulate
- não executa nenhuma ação, mas apenas mostra o resultado;-o
- define o nível de compressão de 0 a 7.Agora vamos tentar otimizar o png no linux. Primeiro vamos ver o tamanho do ficheiro:
$ df -h image.png
Para efetuar a compressão da imagem use o seguinte comando:
$ optipng image.png
Depois voltemos a ver o tamanho, neste exemplo as diferenças não são visíveis porque a imagem é muito pequena, mas num tamanho maior serão significativas:
Aqui também a compressão de imagens png linux sem perdas, o que significa que obterá exatamente a mesma imagem só que mais pequena. Também pode especificar o nível de compressão, que não afecta a qualidade da imagem, mas afecta diretamente o tempo de execução do programa. O valor pode ser de 0 a 7 e, quanto maior for, mais forte será a compressão e mais longo será o processamento:
$ optipng -o 7 impge.png
Para o processamento de imagens em lote, pode utilizar o mesmo princípio que no trabalho com jpeg:
$ cd images/
$ optipng *.png
Agora já sabe como é feita a otimização de imagens no linux.