Если ваша цель - создать пустой PNG размером 100 000 x 100 000, я бы порекомендовал вам libvips
.Это очень экономно с ресурсами по сравнению с ImageMagick .
. Итак, для создания черного PNG-изображения размером 100000x100000 пикселей в терминале:
vips black black.png 100000 100000 --bands 3
на моей машине требуется 300 с и используется227 МБ ОЗУ.Я проверил:
/usr/bin/time -l vips black black.png 100000 100000 --bands 3
Если вы настаиваете на том, чтобы сделать этот белый, вы можете инвертировать его:
vips invert black.png white.png
, который занимает 360 секунд на моей машине и использует 406 МБ ОЗУ.
Для сравнения, ImageMagick требуется 3300 секунд и ??ГБ ОЗУ, чтобы сделать то же самое:
/usr/bin/time -l convert -size 100000x100000 canvas:white big_white.png
Кстати, вы должны быть более точными в отношении того, хотите ли вы использовать оттенки серого или цветной PNG, приемлемо ли изображение в палитре или нет, и хотите ли вы8 бит / семпл или 16 бит / семпл.