ImageMagick cortar imagem enorme
Eu estou tentando criar telhas de uma imagem enorme dizer 40000x40000
Eu encontrei um script on line para imagemagick ele colhe os azulejos. funciona bem em imagens pequenas, como 10000x5000
Quando eu fico maior, acaba usando muita memória e o computador morre.
Eu adicionei as opções de limite, mas elas não parecem ter efeito
Eu tenho o monitor lá, mas isso não ajuda, pois o script simplesmente desacelera e bloqueia a máquina
parece apenas goble up como 50gig de disco de swap, em seguida, matar a máquina
Eu acho que o problema é que, como ele corta cada azulejo, ele os mantém na memória. O que eu acho que eu preciso é que ele escreva cada bloco para o disco, uma vez que ele cria não armazena todos eles na memória.
aqui está o roteiro até agora
<code> #!/bin/bash file=$1 function tile() { convert -monitor -limit memory 2GiB -limit map 2GiB -limit area 2GB $file -scale ${s}%x -crop 256x256 \ -set filename:tile "%[fx:page.x/256]_%[fx:page.y/256]" \ +repage +adjoin "${file%.*}_${s}_%[filename:tile].png" } s=100 tile s=50 tile </code>