ImageMagick в Firebase CloudFunctions "-gravity" не работает - PullRequest
0 голосов
/ 11 сентября 2018

Для создания файла миниатюр с измененным размером и квадратом с помощью Firebase CloudFuntions,

const options: string[] = [tmpLocalFilePath, '-thumbnail', '200x200^', '-gravity', 'center', '-extent 200x200', output]
await spawn('convert', option, {capture: ['stdout', 'stderr']});

В соответствии с журналами на консоли Firebase параметры "-gravity" и "-extent" не распознаются.

{ ChildProcessError: `convert /tmp/u-v1XVunSvidhWiZ1pTozaZ4JbE9Y2-0.jpg -thumbnail 200x200^ -gravity center -extent 200x200 /tmp/u-v1XVunSvidhWiZ1pTozaZ4JbE9Y2-0.jpg_200` failed with code 1
    at ChildProcess.<anonymous> (/user_code/node_modules/child-process-promise/lib/index.js:132:23)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:920:16)
    at Socket.<anonymous> (internal/child_process.js:351:11)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at Pipe._handle.close [as _onclose] (net.js:509:12)
  name: 'ChildProcessError',
  code: 1,
...
  stdout: '',
  stderr: 'convert: unrecognized option `-gravity center\' @ error/convert.c/ConvertImageCommand/1722.\n' }

Как мне обрезать только файл квадрата миниатюр?Конечно, на самом деле, я мог бы сделать это с помощью ImageMagick-6.7.8 на AmazonLinux2.

$ convert -version
Version: ImageMagick 6.7.8-9 2017-10-19 Q16 http://www.imagemagick.org

$ convert /tmp/A.jpg -thumbnail 200x200^ -gravity center -extent 200x200 /tmp/A_200.jpg
$ ls -al A*.jpg
-rw-r--r-- 1 ec2-user ec2-user 71680  9月 11 13:48 A.jpg
-rw-rw-r-- 1 ec2-user ec2-user 16729  9月 11 14:59 A_200.jpg
...