Como cortar uma imagem em partes iguais sem perder qualidade
A gente precisa cortar uma imagem em várias partes do mesmo tamanho há anos. Pode ser pra montar algo depois, pra gerar tiles num sistema de mapa, ou simplesmente pra dividir uma arte grande em peças menores. O processo em si é direto, mas tem uns detalhes que fazem você perder tempo se não souber o que olhar.
O básico de cortar imagem em partes iguais
Cortar uma imagem em partes iguais significa pegar um arquivo original e dividi-lo em N seções, cada uma com a mesma largura e a mesma altura. Se a imagem tiver 1000x800 pixels e você quiser 4 partes, cada pedaço terá 500x400 pixels. A matemática é isso. O que complica é quando as dimensões não dividem direitinho e você precisa lidar com pixels sobrando. No meu caso, eu uso muito o ImageMagick pela linha de comando. É rápido, funciona em lote, e não abre interface gráfica pra tudo que dá preguiça. Um comando simples seria algo como:
convert imagem.png -crop 2x2@ +repage particula_%d.png Isso corta a imagem original em 4 partes iguais e salva cada uma com um nome separado. O símbolo @ depois do 2x2 indica que o crop deve ser baseado em grade, não em tamanho fixo em pixels. O +repage reseta o canvas offset de cada tile pra zero, senão o ImageMagick pode deixar metadados estranhos nas imagens resultantes.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Se você precisar de mais controle sobre o tamanho exato de cada pedaço, usa o modo sem o @: convert imagem.png -crop 250x200 +repage tile_%d.png
Aqui cada parte terá exatamente 250x200 pixels. Mas atenção: se a imagem original não for múltiplo exato dessas dimensões, as bordas são simplesmente descartadas. Não tem ajuste automático. A última linha e a última coluna de pixels que não cabem no grid são ignoradas. Para quem não quer usar linha de comando, tem extensões de navegador e ferramentas online também. Eu já testei algumas e a maioria faz o mesmo serviço, só que com upload, processamento no servidor e download. Funciona bem pra imagens pequenas, mas em arquivos grandes fica lento e depende da conexão. Eu prefiro processar localmente sempre que possível.
Um problema que eu encontrei na prática e que ninguém comenta muito é o caso de imagens com fundo transparente em PNG. Quando você corta e salva cada parte como PNG individual, alguns programas conservam a transparência corretamente, outros não. Já aconteceu de eu gerar as partes e abrir num editor onde o fundo branco apareceu no lugar do transparente, estragando toda a composição. A solução é garantir que o formato de saída preserve alpha channel e testar abrindo uma parte antes de confiar no resultado. Também vale lembrar que a ordem dos arquivos gerados segue o padrão do ImageMagick: da esquerda para a direita, linha por linha. Então se você tiver 6 partes em uma grade 3x2, a numeração vai de 0 a 5 nessa ordem. Isso parece óbvio, mas se você precisa de uma sequência específica pra montar algo depois, ter isso em mente evita dor de cabeça na hora de renomear ou reorganizar.
Outra coisa que todo mundo esquece é sobre DPI e metadados. A imagem original pode ter informações de densidade de pixels (DPI) que ficam gravadas no arquivo. Quando você corta, esses metadados podem vir junto ou não, dependendo da ferramenta. Se você for usar as partes depois em impressão ou num programa de diagramação, pode ser bom padronizar o DPI de saída. Com ImageMagick, dá pra definir com a flag -density. Se a sua necessidade for mais avançada — como cortar em partes que não sejam retangulares, ou com sobreposição controlada — aí o assunto muda de figura. Ferramentas mais específicas como scripts em Python com PIL ou soluções via GDAL pra imagens geoespaciais entram no jogo. Mas pra a maior parte das pessoas que precisa só de cortar imagem em partes iguais, o caminho pelo ImageMagick resolve em minutos sem complicação.