libvips удобно с огромными изображениями.Это библиотека обработки потокового изображения, поэтому она может читать из источника, обрабатывать и записывать в место назначения одновременно и параллельно.Обычно он в 3–5 раз быстрее, чем imagemagick, и требует очень мало памяти.
Например, с самым большим PNG, который у меня есть на моем ноутбуке (1,8 ГБ), я могу уменьшить его в 10 раз с помощью:
$ vipsheader huge.png
huge.png: 72000x72000 uchar, 3 bands, srgb, pngload
$ ls -l huge.png
-rw-r--r-- 1 john john 1785845477 Feb 19 09:39 huge.png
$ time vips resize huge.png x.png 0.1
real 1m35.279s
user 1m49.178s
sys 0m1.208s
peak RES 230mb
Не быстро, но и не слишком потертый.PNG - довольно медленный формат, он будет намного быстрее с TIFF.
libvips устанавливается большинством менеджеров пакетов (например, homebrew на macOS, apt на Debian), есть бинарный файл Windows и это бесплатно (LGPL).Помимо командной строки, существуют привязки для C, C ++, Python, Ruby, Lua, node, PHP и других.