画像の縮小や切り抜きができるPHPクラスライブラリ「Zebra_Image」の使い方

php

zebra_image

画像の縮小や切り抜きができるPHPクラスライブラリ「Zebra_Image」の使い方メモ。
Zebra_Imageは画像のリサイズや切り抜き、上下左右反転、フィルターかえなど、いろいろ簡単にできるライブラリです。

ダウンロードはこちらから

Zebra_Image, a lightweight image manipulation library written in PHP

2015/1/31現在、ページ全体の真ん中らへんの「Download]っていうところからダウンロードできます。

使ってみます

ファイル配置

ファイルは下記のような配置。
「original」には加工したい元のファイルが入ってるものとします。

ルート
├zebra_image.php
├index.php
├original
└generate

サンプルコード(index.php)

<?php
//Zebra_Image読み込み
require_once("./zebra_image.php");

function gen($image, $w, $h) {
$src = new Zebra_Image();
//画質設定
$src->jpeg_quality = 100;
//元の画像ファイル指定
$src->source_path = $image;
$name = preg_replace("/^.*\/(.*)\.jpg$/", "$1", $image);
//左上を起点にリサイズして切り抜き
$src->target_path = "./generate/{$name}-{$w}x{$h}-1.jpg";
$src->resize($w, $h, ZEBRA_IMAGE_CROP_TOPLEFT);
//中央を起点にリサイズして切り抜き
$src->target_path = "./generate/{$name}-{$w}x{$h}-2.jpg";
$src->resize($w, $h, ZEBRA_IMAGE_CROP_MIDDLELEFT);
//左下を起点にリサイズして切り抜き
$src->target_path = "./generate/{$name}-{$w}x{$h}-3.jpg";
$src->resize($w, $h, ZEBRA_IMAGE_CROP_BOTTOMLEFT);
}

//検索に使用する文字を指定
$key = htmlspecialchars($_GET['key'], ENT_QUOTES);

//指定のファイル名から対象のファイルをピックアップ
$images = glob("./original/{$key}*.jpg");

//それぞれ指定サイズに書き出し
for($i=0,$n=count($images); $i<$n; $i++) {
gen($images[$i], 616, 120);
gen($images[$i], 266, 110);
gen($images[$i], 480, 120);
gen($images[$i], 280, 140);
}
?>

解説

指定の文字が含まれるファイル名のjpgをリストアップして、それぞれ616×120、266×110、480×120、280x140pxの上中下部分でリサイズして切り出し保存しますって感じです。

zebra_imageのところはfunction gen($image, $w, $h)の中です。

Zebra_Imageのマニュアルはこちら↓
Zebra_Image, a lightweight image manipulation library written in PHP – Class Zebra_Image

Zebra_Imageの使い方でした

楽天市場とかDeNAショッピングなどなど、複数のモールでネットショップを運営しているんだけど、規定のバナーサイズがありまして。
それをいちいち手作業でリサイズしたりしているととても煩わしい。
ので、全然バナー入れ替えできてなかったりする。

そこで、思いついた。
なんにもやらないより多少雑?でもバナーを入れ替えたほうがいいんではないかと。

そんなわけで「指定の画像を指定のサイズに切り抜きするPHP」を作ろうと。
それでZebra_Imageを使ってみました。
616x120pxとかはその関係のサイズです。

簡単なコードでリサイズとか切り抜きとかができるすごく便利なライブラリです。
とくに、リサイズしてからの切り抜きが簡単にできるので、その点は以前に紹介したclass.image.phpより素敵な感じです。
(よく調べてないけど、class.image.phpは1つの加工しかできないっぽい感じだった)
ただ、加工したファイルはどこかしらに保存しないとダメっぽい。
保存せずに表示したい場合は、show()で表示のみできるclass.image.phpが便利です。

php」カテゴリの人気記事

  • [PHP]preg_replaceで正規表現を使った置換+後方参照のメモ 78件のビュー
  • 畑に咲いてた [PHP][MySQL]UPDATEの実行結果や該当数を取得確認する関数を作ってみた 48件のビュー
  • C777_iphoneijirukuribocchi.jpg PHPでメール送信はQdmail+Qdsmtpが簡単便利というわけで使い方メモ 19件のビュー
  • phpで画像のサムネイル出力を簡単に!class.image.phpを使ってみた 19件のビュー
  • zebra_image 画像の縮小や切り抜きができるPHPクラスライブラリ「Zebra_Image」の使い方 16件のビュー
  • アウトドア&フィッシング ナチュラム

    こちらもどうぞ

  • セローでキャンプツーリング!のキャンプ道具の積載
  • ホムセン箱 on セロー セローにホムセン箱を乗せる方法
  • Tamron SP 70-300mm F/4-5.6 Di VC USD (Model A005) 本体 Tamron SP 70-300mm F/4-5.6 Di VC USD (Model A005)を買ったので開封&レビュー
  • アルパインスターズ アンデス2 ドライスタージャケットを買ったのでレビュー
  • セローのマフラーをプラナスに変えたよレビュー