[Perl]ImageMagickで、スカラーに保持した(=メモリ上の)バイナリ画像を読み込む方法
スカラー変数に保持した(メモリ上のバイナリデータとしての)画像を読み込むサンプルコードがあまりなかったので紹介します。
BlobToImage()というメソッドを使います。
# web上からHTTPなどで画像を取得し、スカラ変数に保持
my $bin_data = get_from_web();
my $img = Image::Magick->new();
# バイナリデータをセット
$img->BlobToImage($bin_data);
# 回転
$img->Rotate(180);
# 標準出力する
binmode(STDOUT);
$img->Write("jpeg:-");
公式サイトにも一応載ってます(わかりにくいですが)。http://www.imagemagick.org/script/perl-magick.php
ちなみにPHPのImagickでも同じことができます。
(Imagick::readImageBlob)
http://www.php.net/manual/en/imagick.readimageblob.php
カテゴリ:
ImageMagick
Perl