- 2008-08-26 (火) 22:59
- php
さて、前回ImageMagickのPECL拡張モジュールimagick.soをインストールしたので、これを使ってPHPによる画像変換プログラムを構築してみる。
画像変換といっても色々あるので、どんな機能が欲しいかあげてみる。
- サイズ(大きさ)の変更
- サイズ(容量)の変更
- 形式の変更
- URLから画像を抽出して変換⇒出力
機能は腐るほどあるみたいだけど、とりあえずこのあたりができればいいや。
んじゃ、こんな感じのURLを想定して考えてみる。
xxx.php?url=[取得する画像URL]&w=[width]&h=[height]&type=[形式(jpg,png,gifのどれか)]&q=[画像の圧縮率]
書いたコードはこんな感じ
$url=$_GET['url'];
$type=$_GET['type'];
$w=$_GET['w'];
$h=$_GET['h'];
$q=$_GET['q'];
/*ほんとはここでGETで受け取った値のValidationとかをする*/
$image = new Imagick();
$image -> readImageBlob(file_get_contents($url));
$image -> setImageFormat($type);
$image -> thumbnailImage($w,$h);
$image -> setCompressionQuality($q);
header('Content-type: image/'.$type);
echo $image;
こんな感じでとりあえずは動いたっと。
widthとheightは片方を0にしておくと等倍にサイズ変換してくれる。
あと、gifとpngは圧縮率が非常によろしくないので、基本はjpgに変換して画質を下げる方向(q=50で結構小さくなる)で行くのがいいかな。
関連記事
このブログを書いているsayjiroは最近会社を立ち上げました。小さな小さな会社ですが、一緒に働く仲間を探している今日この頃です。
社員が僕しかいない小規模零細企業ですが、自由に楽しく仕事をしつつWebを使って面白いことができればと思ってます。
募集している人物像:向上心がある・Webともの作りが好き(ある程度経験があると嬉しいですが、未経験でもやる気があれば可です)
お仕事内容:Web周り全般。サイト制作やデザイン、システム構築やiPhoneアプリ開発などいろいろです。
働く形態:その人に合わせて応相談(在宅とかでもいいです)
→興味がございましたらこちらからお気軽にご連絡ください!
コメント:0
トラックバック:0
- この記事のトラックバックURL
- http://sj6.org/coding_by_php_for_imagemagick/trackback/



