PHPの画像変換で一番メジャーなのはGDライブラリ。
そして、imagemagickライブラリPECL::IMagick。
だけどOOPでは関数を直に使わず抽象化するのがセオリー。
そこで、それらの画像関数群を抽象化したのが、PEAR::Image_Transform。
これを使うと、リサイズ、フォーマット変換、回転、ミラーリング、テキスト挿入などが簡単に出来る。
・GD ・ImageMagick ・Imagick ・NetPBM ・imlib
似たようなファイル名が一杯なので、
正確ではないかも。
使い方はこんな感じか。
$input_file = "jpegfile.png"; $output_file = "jpegfile_resize.jpg"; require_once("Image/Transform.php"); $imgObj =& Image_Transform::factory('GD'); $imgObj->setOption( 'quality', 80 ); $imgObj->load( $input_file ); $width = $imgObj->getImageWidth(); // 幅の取得 $height = $imgObj->getImageHeight() // 長さの取得 $imgObj->scaleMaxLength( 240 ); // 縦横比を固定でリサイズ $result = $imgObj->save( $output_file, 'jpg' );
注意事項
・alpha版(2006/8/25現在)でドキュメント類は一切ない。 さらに、サンプルプログラムすらない状態。 ・こういった類のものはバイナリ文字列から変換をしてバイナリ文字列を返す感じであって欲しいところだが、 必ずファイルを経由しなければならない。 (どのドライバもgetimagesizeを使うため)