Я пытаюсь написать текст поверх gif, а затем преобразовать его в базу 64. Но я получаю сообщение об ошибке, которое не могу устранить. Я нашел несколько примеров для inte rnet, но все они используют локальные временные файлы, не основанные на URI.
Вот что я делаю в своих функциях:
var spawnPromise = spawn(
'convert',
[
`"https://firebasestorage.googleapis.com/v0/b/blizquiz-d9ee2.appspot.com/o/animations%2Fthe-score%2Fbanana.gif?alt=media&token=5c44b0b4-7238-40a3-8ab5-42889781bf60" null:`,
`-fill '#000000' -font "https://firebasestorage.googleapis.com/v0/b/blizquiz-d9ee2.appspot.com/o/animations%2Fthe-score%2FChalkboardSE.ttf?alt=media&token=d83eadaf-9b81-4290-aa12-be6492f0243b" -pointsize 60 -annotate +270+530 '26%'`,
`-layers composite -layers Optimize INLINE:GIF:-`,
],
{capture: ['stdout', 'stderr']},
);
Журнал ошибок который я получаю:
stderr: convert-im6.q16: unable to open image `"https://firebasestorage.googleapis.com/v0/b/blizquiz-d9ee2.appspot.com/o/animations%2Fthe-score%2Fbanana.gif?alt=media&token=5c44b0b4-7238-40a3-8ab5-42889781bf60" null:': No such file or directory @ error/blob.c/OpenBlob/2701.
convert-im6.q16: no decode delegate for this image format `GIF?ALT=MEDIA&TOKEN=5C44B0B4-7238-40A3-8AB5-42889781BF60" NULL:' @ error/constitute.c/ReadImage/504.
convert-im6.q16: unrecognized option `-fill '#000000' -font "https://firebasestorage.googleapis.com/v0/b/blizquiz-d9ee2.appspot.com/o/animations%2Fthe-score%2FChalkboardSE.ttf?alt=media&token=d83eadaf-9b81-4290-aa12-be6492f0243b" -pointsize 60 -annotate +270+530 '26%'' @ error/convert.c/ConvertImageCommand/1673.
Обновление На основании полученных отзывов я изменил код
var spawnPromise = spawn(
'convert',
[
`"https://firebasestorage.googleapis.com/v0/b/blizquiz-d9ee2.appspot.com/o/animations%2Fthe-score%2Fbanana.gif?alt=media&token=5c44b0b4-7238-40a3-8ab5-42889781bf60"`,
`-fill`,
`#000000`,
`-font`,
`"https://firebasestorage.googleapis.com/v0/b/blizquiz-d9ee2.appspot.com/o/animations%2Fthe-score%2FChalkboardSE.ttf?alt=media&token=d83eadaf-9b81-4290-aa12-be6492f0243b"`,
`-pointsize`,
`60`,
`-annotate`,
`+270+530`,
`26%`,
`-layers`,
`composite`,
`-layers`,
`optimize`,
`INLINE:GIF:-`,
],
{capture: ['stdout', 'stderr']},
);
Но все равно получаю ниже ту же ошибку, хотя он работает нормально, когда выполняется локально.
stderr: convert-im6.q16: unable to open image `"https://firebasestorage.googleapis.com/v0/b/blizquiz-d9ee2.appspot.com/o/animations%2Fthe-score%2Fbanana.gif?alt=media&token=5c44b0b4-7238-40a3-8ab5-42889781bf60"': No such file or directory @ error/blob.c/OpenBlob/2701.
convert-im6.q16: no decode delegate for this image format `GIF?ALT=MEDIA&TOKEN=5C44B0B4-7238-40A3-8AB5-42889781BF60"' @ error/constitute.c/ReadImage/504.
convert-im6.q16: no images defined `INLINE:GIF:-' @ error/convert.c/ConvertImageCommand/3258.
Не могу понять, где я не прав. Эта же команда отлично работает в локальной системе при использовании ImageMagick. Я был бы признателен, если кто-нибудь может указать мне в правильном направлении. Спасибо!