flyを使った画像合成式アクセスカウンターのTips

fly使うことによるメリット

1. Version: 1.6.0以降のflyは、データ圧縮方式にLZWを使ってないので安心。リリースノート参照 最新は、Version: 1.6.5
2. 好きな画像にカウンターが合成できる。

はじめに、アクセスカウンターのCGI、画像合成で使うflyを用意します。

1. カウンターのベースとなる画像 base.gif を作ります。


2. カウンター用のgifを用意します。名前は0.gif 1.gif .... 9.gif 0.gif 1.gif 2.gif 3.gif 4.gif 5.gif 6.gif 7.gif 8.gif 9.gif

ディレクトリー
  /counter/counter.cgi --- カウンターCGI
  /counter/fly --- fly 本体
  /counter/image/0.gif --- カウンター用数字 gif
      :
  /counter/image/9.gif
  /counter/image/base.gif -- ペースとなる gif

ここまでは、カウンターCGIでデータファイルからアクセス数を読み込んであるものとする。
$countにアクセス数 1234が入っている場合。

3. スクリプト例

 $count = "1234";

 print "Content-type: image/gif\n\n";

 $flyprog = "./fly";
 $infile = "./tmp/fly.$$";

 @counter = split(//,$count);

 #--- 5は数字の桁数
 while ($#counter + 1 < 5) {
 @counter = (0,@counter);
 }

 $x = "16";
 $y = "11";
 open(FLY,"> $infile");
  print FLY "existing image/base.gif\n";
   foreach $num (@counter) {
   print FLY "copy $x,$y,-1,-1,-1,-1,image/$num\.gif\n";
   $x = ($x + 14);
   }
 close(FLY);

 open(FOO,"$flyprog -q -i $infile |");
  while( <FOO> ) { print;}
 close(FOO);
unlink($infile);

$xの値によって、カウンター数字の左位置が決まる

$x = "10" $y = "11" の場合

$x = "19" $y = "11" の場合



$yの値によって、カウンター数字の下位置が決まる

$x = "16" $y = "5" の場合

$x = "16" $y = "14" の場合

+ 14は、カウンター数字の間隔を決める。

+ 11の場合

+ 16の場合

 注意 このページは、flyを使ってgif画像を合成する時の参考用です。

参考ページ
・flyを使ったカウンターCGIの解説 ネットサーフレスキュー【Web裏技】

[ トップページに戻る ]
Copyright © 1997-2007 jiroweb.jp All rights reserved.