Я пишу приложение использовать this library в общее назначении изменения размеров изображений утилитыпередать объект буфера в библиотеку ImageMagick правильно
он работает с локальными файлами, пытаясь обновить его с HTTP потоками.
Похоже, что в теории его оболочка resize
примет объект srcData
, который, как я полагаю, может быть объектом Buffer, но мое приложение задыхается.
Вот упрощенная версия:
im = require('imagemagick')
request = require('request')
sampleImage = "http://www.ibm.com/developerworks/data/library/techarticle/dm-0504stolze/test_1.jpg"
request.get(sampleImage, (err, res, body) ->
taskHash = {
srcPath: "-"
srcData: body
dstPath: "-"
height: 100
}
callback = (err, stdout, stderr)->
if err
console.error(err)
process.exit(1)
console.log(stdout)
im.resize(taskHash, callback)
)
Это erroring из:
{ [Error: Command failed: convert: no decode delegate for this image format `/var/tmp/magick-37627o1E7kWz7yGaf' @ error/constitute.c/ReadImage/555.
convert: no images defined `-' @ error/convert.c/ConvertImageCommand/3144.
] timedOut: false, killed: false, code: 1, signal: null }
который заставляет меня думать, что это проблемы с идентифицирующий буфер в качестве объекта JPG. Но даже если я явно объявить буфер как JPG в хэш опций, она по-прежнему дает мне ту же ошибку:
taskHash = {
srcPath: "-"
srcData: body
dstPath: "-"
format: 'jpg'
height: 100
}
Не знаете, как пройти это в качестве правильного объекта буфера.
Префикс 'srcPath' работал, я думаю, что опция' format' обозначает только выходные данные. – fox