« 目次

Movable Type オブジェクト・リファレンス

MT::Image

概要

use MT::Image;
my $img = MT::Image->new( Filename => '/path/to/image.jpg' );
my($blob, $w, $h) = $img->scale( Width => 100 );

open FH, ">thumb.jpg" or die $!;
binmode FH;
print FH $blob;
close FH;

解説

MT::Imageには、NetPBMツールまたはImageMagickとPerlモジュールのImage::Magickを利用した、画像処理のためのルーチンが用意されています。バックエンドでNetPBMとImageMagickのいずれを使うかは、環境変数ImageDriverの設定(あるいはMT::ConfigMgrクラスのインスタンス中の同名の変数)によって決まります。

このモジュールは、アップロードした画像のサムネイルを作成するときに利用されます。

利用方法

MT::Image->new(%arg)

MT::Imageオブジェクトを新規に生成します。成功すると作成したオブジェクトを返し、エラー発生時にはundefを返します。エラー・メッセージはMT::Image->errstrで取得できます。%argには次の項目を指定できます。

Filename

オブジェクトに読み込む画像のパスです。

Data

ファイルやデータベースなどから読み込み済みの画像データの内容です。

Type

Dataに読み込まれているデータの画像フォーマットです。JPGまたはGIFのいずれかとなります。

$img->scale(%arg)

画像オブジェクト$imgからサムネイルを作成します。作成に成功すると、サムネイル画像の内容(バイナリー・データ)、リサイズした画像の幅、高さを含む一覧を返します。エラー発生時にはundefを返し、エラー・メッセージは$img->errstrから取得できます。%argには次の項目を指定できます。

Width
Height

リサイズ後の画像の幅と高さです。どちらか一方のみを指定すると、縦横の比率を保つように他方もリサイズされます。どちらも指定しない場合は元の画像の100%(つまり元と同じサイズ)になります。両方を指定すると、縦横の比率が変わって画像が歪むことがあります。

Scale

WidthおよびHeightの代わりに指定するもので、幅と高さの両方に適用する縮尺を、元の画像に対するパーセンテージで指定します(つまり100を指定するとリサイズなしで元の画像と同じサイズになります)。


Copyright © 2001-2006 Six Apart, Ltd. All Rights Reserved.