У мене є сервер Node.js (не має значення), який здійснює маніпулювання зображеннями з ImageMagick. В основному я можу розмістити зображення на сервері, і воно відповість трансформованим зображенням.
Зараз я просто записую POSTed зображення у файл і запускаю ImageMagick як дочірній процес, який записує перетворене зображення в новий файл, а потім надсилаю цей новий файл в POSTer. Я хотів би уникати запису на диск, щоб прискорити роботу. Чи може цей процес ImageMagick прийняти потоковий вхід і дати мені потік як вихід?
Як приклад, це одна з найскладніших команд, яку я зараз використовую:
/usr/local/opt/imagemagick/bin/convert \( '/Users/shawn/Work/vigour-img/originals/7ajy06' -resize '150x150^' -gravity 'Center' -crop '150x150+0+0' \) \( '/Users/shawn/Work/vigour-img/images/avatarMask.png' -resize '150x150' -gravity 'Center' \) -compose 'CopyOpacity' -composite '/Users/shawn/Work/vigour-img/out/1bl6jm9.png'
Це залежить від /Users/shawn/Work/vigour-img/originals/7ajy06
і /Users/shawn/Work/vigour-img/images/avatarMask.png
існуючі на диску і записує результат /Users/shawn/Work/vigour-img/out/1bl6jm9.png
.
Якби замість цього я міг би передавати вхідні файли і отримувати результат у вигляді потоку, не потрібно було б записувати на диск, тим самим значно покращуючи продуктивність (я думаю).
stream
команду, яку ви згадуєте). Запис у файл або запис у відповідь http має бути майже однаковим ... Щодо stream
команди, мені незрозуміло, як це використовувати в моєму випадку. Мені доведеться витратити більше часу на це і спробувати речі. Дякую за пораду.
stream
команда, яка може допомогти деякому аспекту цього процесу.