2008年03月16日

ImageMagick(PerlMagick)で、画像を複製する

同じ画像を使い回したい時、コピーする方法がわからなくて別のオブジェクトを生成して同じ画像を読み込むというバカなことをやってたんですが、あんまりと言えばあんまりだし、時間もかかるしということで、ちゃんと探したらありました。

下記のコードで、minify.jpg、magnify.jpgがそれぞれちゃんと縮小、拡大されていて、$imageにも影響がないことがわかります。

#!/usr/bin/perl

use strict;
use warnings;
use Image::Magick;

# 画像を読み込む
my $image = Image::Magick->new;
$image->Read('source.jpg');

# オブジェクトを複製
my $imageA = $image->Clone();
my $imageB = $image->Clone();

# それぞれ縮小、拡大
$imageA->Minify();
$imageB->Magnify();

# ファイルに書き出す
$imageA->Write('jpg:minify.jpg');
$imageB->Write('jpg:magnify.jpg');
$image->Write('jpg:original.jpg');

print "content-type:text/plain\n\n";
print 'ok';
exit;
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック