Package Image_Text Constants (Previous) (Next) 国際化対応 (Internationalization)

View this page in Last updated: Sun, 20 Jul 2008
English | French | Japanese | Plain HTML

Image_Transform

Image_Transform の主な使い道は、画像のサムネイルを作成することです。

一般的な使用法

Image_Transform を使う際に最初にすることは、 Image_Transform_Driver のインスタンスを 静的メソッド factory() で作ることです。 このメソッドにドライバ名を渡せば、インスタンスを取得することができます。

これで、あとは load() にファイル名を指定すれば画像を読み込めるようになります。 倍率変更用のメソッドのひとつを使用したら、最後は save() で保存します。

警告

倍率変更用のメソッドを、一度に複数使用することはできません。 ひとつ使用したら、まず保存する必要があります。

上の例では一切エラーチェックをしていません。 すべてのメソッドは PEAR_Error オブジェクトを返します。 返り値をチェックするか、あるいは PHP 5 の場合はグローバル PEAR エラーハンドラを設定してエラー時に例外をスローさせるようにします。 これは、発生することがわかっているけれどもあえて無視している というエラーがある際などに問題となります。 (特に他のパッケージと併用する場合など) この方式を使用する際には注意しましょう。

ドライバ

Image_Transform パッケージは、ドライバなしでは使えません。 ドライバは、グラフィックライブラリのメソッドをカプセル化したものです。 2008 年 4 月時点では、このパッケージのドライバには次のようなものがあります。 これらをインストールして使用することができます。

画像の拡大・縮小

Image_Transform には、 画像の拡大や縮小をおこなうさまざまなメソッドがあります。 そのほとんどは、基本的なサイズ変更のメソッドを さまざまなパラメータでコールするだけのものです。 実行結果は同じですが、利便性を確保するために用意されています。 ここで、これらのメソッドについて簡単にまとめておきます。

  • resize - 汎用のサイズ変更メソッド。サイズ、パーセンテージ (% つきの文字列) あるいは倍率を x と y の両方について指定します。0 にすると現在のサイズを維持します。 アスペクト比を維持する必要はありません。

  • scaleByX - 画像の幅を指定したピクセルに変更します。アスペクト比を維持します。

  • scaleByY - 画像の高さを指定したピクセルに変更します。アスペクト比を維持します。

  • scale - 汎用の拡大・縮小関数。ピクセル値、パーセンテージ (% つきの文字列) あるいは倍率 (<1) を指定します。アスペクト比を維持します。

  • scaleByPercentage - 指定したパーセンテージに拡大・縮小します。

  • scaleByFactor - scaleByPercentage() と同じで、 単に与える数値が 100 分の 1 になったものです。

  • scaleByLength - 長辺が指定したサイズになるように拡大・縮小します。

  • fit - 画像を縮小し、(幅と高さを指定した) ボックスにフィットするようにします。 既にそのボックスにおさまる大きさである場合は何も行いません。

  • fitX - 幅が指定したサイズになるように画像を縮小します。 既にそのサイズより幅が小さい場合は何も行いません。

  • fitY - 高さが指定したサイズになるように画像を縮小します。 既にそのサイズより高さが小さい場合は何も行いません。

保存

save() メソッドの必須パラメータは、サイズ変更後の画像を保存する際のファイル名です。 これだけを指定した場合は、新しい画像は元の画像と同じファイル形式で保存されます。

注意 ファイルの拡張子を指定しなかった場合、 自動的に追加されることはありません。

2 番目のパラメータで、保存したい画像ファイル形式にあわせた拡張子を指定することができます。 たとえば pngjpg などです。

エラーが発生した場合 (使用しているドライバがそのファイル形式をサポートしていないなど) は PEAR_Error オブジェクトを返します。

画像を保存せず直接ブラウザに送出するには display() を使用します。

Package Image_Text Constants (Previous) (Next) 国際化対応 (Internationalization)

Download Documentation Last updated: Sun, 20 Jul 2008
Do you think that something on this page is wrong? Please file a bug report or add a note.
User Notes:
There are no user contributed notes for this page.