0

amazons3 サーバーでホストされている画像があります。クライアントは、Amazon ラムダ関数を使用して画像を処理したいと考えています。私は例に従いました: http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser-create-test-function-create-function.html

リサイズしても大丈夫です。しかし、画像のオーバーレイと透かしも必要です.しかし、方法がありません.imagemagick [ https://www.npmjs.com/package/gm]を試してみました.パラメータとしてパスを取り、s3画像パスを取るようです私を助けていません。私が思う明らかな理由は、ディレクトリ内の画像パスとして直接アクセスできないためです。

これを達成する方法に関する提案。過去 3 日間立ち往生していましたが、先に進むことができませんでした。

4

1 に答える 1

0

サイズ アクションでオーバーレイを実行しようとしているようです。GitHubの gm リポジトリで簡単に確認したところ、解決策の可能性がある問題が示されました。複合アクションが読み取り元のストリームを受け入れると考えられているようです。あなたのコードに関しては、アクションを連鎖させるリファクタリングをお勧めします。ただし、元の関数で書き込みストリームがどこに向かっているかはわかりません。これが役立つかどうか教えてください!

var scalingFactor = Math.min(
  newSize / size.width,
  newSize / size.height
);

var width  = scalingFactor * size.width;
var height = scalingFactor * size.height;

gm(response.Body)
.autoOrient()
.resize(width, height)
.gravity('SouthEast')
.draw('image Over 0,0 0,0 ' + getAppPath() + '/path/to/wm-bas.png')
.stream('PNG') // This converts the whole thing to a png, not sure if you want this
.pipe(writeStream) // Change this
于 2015-11-02T21:25:14.600 に答える