Маловероятно , что тут кто то занимается подобной садомазой, однако. Есть необходимость, грубо говоря, в цикле наложить несколько изображений на другое изображение используя GM. Но как я понял это возможно сделать только сразу, не разрывая так сказать данный процесс. В php например я мог получить изображение в переменную и передавать её как аргумент в функцию и вызывать эту функцию в цикле. Тут же (возможно только с этим пакетом, но другой крайне сложно завести там где я хочу) ничего подобного не получается или я не понимаю как это работает. Пути все абсолютные. Все изображения на месте. Вот у нас есть пример работы composit (то что собственно мне сейчас и нужно) c github: Код (Javascript): gm('/path/to/image.jpg') .composite('/path/to/second_image.jpg') .geometry('+100+150') .write('/path/to/composite.png', function(err) { if(!err) console.log("Written composite image."); }); Все примеры рабочие , запускал несколько файлов из папки example и все работало. Но у них везде такая вот беда, всегда все делается в один заход. То есть все манипуляции идут подряд друг за другом. И если ты допустим попытаешься передать это все в функцию или сделать это не подряд то на выходе получишь шиш. p.s. пробывал и без использования функции. Код (Javascript): function drawchunk(fon_img, chunk_path, img_x, img_y){ return fon_img.composite(chunk_path).geometry('+'+ img_x +'+'+ img_y +''); } Возможно конечно это все из-за того, что node js большинство действ делает асинхронно , но вроде как при чтении и записи он должен приостанавливать работу скрипта. Опять пытался методом научного тыка заставить это работать, вроде ничего толком и не изменил , но начал получать вот такую ошибку: Код (Text): Error: Command failed: gm composite: input images already specified (путь до картинки) Может все очевидно, хотелось бы услышать мнение на этот счет.
Видимо все же оно может так работать , просто он летит впереди паровоза и ещё даже не в курсе, что открыл изображение. Не достаточно информации по всему этому. Видимо нужно делать как то так: http://qaru.site/questions/804949/nodejs-gm-getting-image-size-synchronously , что бы все работало, но выглядит подобная конструкция конечно атас. Ну и конечно нету никаких гарантий , что взлетит...