2013年09月29日

おうちPCにPHPいれて、画像連結プログラムを作ったときのメモ

Photoshopで手作業で連結するのがしんどくなったので、手軽なところでPHPがいいかなと(--;)

PHPとApache、インストール。
(WindowsはApacheよりもIISのほうが本当はいいのかも?)

で、最近よく使われているImageMagickを使ってみようかと思ったものの、うまくインストールできなくてあきらめる。

(持ってきたDLLが「使えない」といわれたとき、やる気のひもが切れる音がした・・・・・・必要になった時また挑戦すればいいや)

しかたないのでデフォのGD関数を使うことに。

ここでもGD関数がPHPプログラムから呼べずFatalエラーを起こしまくったものの、php.iniのextensionをいじったら使えるように。

(PHPの復習になるね、ほんとうに)

できあがったコード
*******************

################
## 画像を横にくっつけていくモジュール
################

##エラーチェック
if($argc<4){
echo "error01";
exit;
}
if(!(is_numeric($argv[1]) && is_numeric($argv[2]))){
echo "error02";
exit;
}

//画像のサイズ
$width = $argv[1];
$height = $argv[2];

//画像作成
$base = ImageCreateTrueColor($width * ($argc-3), $height);

//ピクセルブレンド停止 → PNGでα値を使用する
imageAlphaBlending($base, false);
imageSaveAlpha($base, true);
//透過色で埋める
$transparent = imageColorAllocateAlpha($base, 0xFF, 0xFF, 0xFF, 0);
imageFill($image, 0, 0, $transparent);

//合成開始
for($i = 3; $i < $argc; $i++){
echo $argv[$i]."\n";
$src = ImageCreateFromPng("./".$argv[$i]);
ImageCopy($base, $src, ($i-3) * $width, 0, 0, 0, $width, $height);
imagedestroy($src);
//データ削除
unlink("./".$argv[$i]);
}
//出力
imagepng ($base, "./gen/".$argv[3], 8);//圧縮率「8」
imagedestroy($base);

echo "generated\n";

*******************

参考URL
http://yozorabiyori.blog116.fc2.com/blog-entry-235.html
posted by B.cos at 17:36| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/376116984
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック