アクセスカウンター等でよく見る、数字の描かれた画像を連結して一枚の画像として表示する場合のソースです。
<?php
//カウント
$count = 12345;
//桁
$figure = 8;
//数字画像のサイズ
$width = 16;
$height = 24;
$count = sprintf("%0{$figure}d", $count);
$length = strlen($count);
$base = ImageCreateTrueColor($width * $length, $height);
for($i=0;$i<$length;$i++){
$num = substr($count, $i, 1);
$digit = ImageCreateFromJpeg("img/{$num}.jpg");
ImageCopy($base, $digit, $i * $width, 0, 0, 0, $width, $height);
imagedestroy($digit);
}
header("Content-Type: image/jpeg");
imagejpeg($base, NULL, 80);
imagedestroy($base);
今回は「1.jpg」のように数字がファイル名になっている統一サイズの画像を使いました。
先頭をゼロで埋める必要がない場合は sprintf の部分を消して下さい。
Similar Posts:
- [PHP]画像を上下反転、左右反転する(垂直・水平方向の鏡像)
- [PHP]複数の画像をランダムに敷き詰めて一枚の画像に合成
- [PHP]中心から角度を指定して線を引く(座標の回転)
- [PHP]3次スプライン曲線を使ったスプライン補間
- [PHP]マスク画像で写真を好きな形に切り抜く(クリッピングマスク)
- [PHP]似た画像を検索して近い順番に並べる(類似画像検索)
- [PHP]画像ファイルのアップロードとGDを使ったリサイズ
- [PHP]GDを使ってグラデーション画像をつくる
