3

Image::Magick画像の変更に使用しています。次に、を使用しHTTP::Requestて画像コンテンツをAPIに送信しています。

HTTP::Requestにはcontentリクエストのコンテンツを設定できるメソッドがありますが、これには明らかにコンテンツがメモリにある必要があります。

ファイルを開いて読み取ることで、画像の内容を変数に読み込むことができることを知っています。ただし、Image::Magick画像のコンテンツはすでにメモリにあるので、Image::Magickオブジェクトを介して取得する方法はありますか?ありがとう!

4

1 に答える 1

5

Image::Magick画像をカスタム形式でメモリに保持し、操作をより簡単かつ効率的にします。データをファイルに書き込む前に、データをJPEG、PNG、または要求した形式に圧縮する必要があるため、メモリ内の画像にそのままアクセスすることはできません。

ただし、モジュールのImageToBlobメソッドは、ディスクに書き込んだデータのメモリ内コピーを提供し、データの書き込みと再読み取りを節約します。

複数のフレームを含むオブジェクトを許可するために画像のリストを返すことに注意してください。したがって、フレームが1つしかない場合は、次のように記述する必要があります。

my @blobs = $image->ImageToBlob;
$request->content($blobs[0]);

また

my ($blob) = $image->ImageToBlob;
$request->content($blob);
于 2013-03-03T23:55:42.170 に答える