グラフィカルなカウンターの習作。
CGI ブックを読んでいると gd ライブラリをつかえば、比較的簡単にできそうだったので、 作ってみました。
Digit Mania(数字の画像集) いろいろな数字の画像集です。 gctr0.cgi では、10 桁の数字で等幅のものが使用できます。
gd ライブラリを使用していますので、そのインストールからはじまります。
作者によるページ(英語)
あてにならない抄訳 (version 1.3)
作者のサイトから、gd1.3.tar.gz をダウンロードする
gd ライブラリは Tom Boutell によって作成され、 boutell.com INC. から無償で提供されている gif 操作用のライブラリです。
著作権表示は以下のとおりPortions copyright 1994, 1995, 1996, 1997, 1998, by Cold Spring Harbor Laboratory. Funded under Grant P41-RR02188 by the National Institutes of Health.Portions copyright 1996, 1997, 1998, by Boutell.Com, Inc.
GIF decompression code copyright 1990, 1991, 1993, by David Koblas (koblas@netcom.com).
Non-LZW-based GIF compression code copyright 1998, by Hutchison Avenue Software Corporation (http://www.hasc.com/, info@hasc.com).
この表示を、ユーザーが見る事のできる、 サポーティングドキュメンテーションの中に記載する事により、 商業的アプリケーションも含めた、あらゆる gd の複製と再配布が認められます。
これは、あなたの作成した2次的著作物自体の権利に影響をおよぼすものではありませんし、 gd の著作権者についての正確なクレジットを表記する事が目的であって、 gd の生産的な利用を妨げる事ではありません。 疑問点があれば、お問い合わせください。 「2次的著作物」とは、このライブラリを利用したあらゆるプログラムを含みます。 ユーザーが見る事のできるサポーティングドキュメンテーションに クレジットが記載されていなければなりません。
すべての複製と、 そのサポーティングドキュメンテーションに、 著作権についての表記と、 この使用条件についての表記が、 なされていることを条件に、 このソフトウェアとドキュメンテーションの、 あらゆる使用、複製、改変、再配布が、無償で認められます。 このソフトウェアは、 "あるがまま(as is)" であり、 明示、暗黙を問わず、一切の保証がなされません。
以上
手順
で、以上で、demoout.gif と demoin.gif をくらべて、 それらしくなっていれば、インストールは完了です。
- www>gd1.3.tar.gz をダウンロードする
- ftp>作業用のディレクトリ(たとえば)usr をつくる。
- ftp>gd1_3_tar.gz をバイナリーモードで転送する。
- ftp>gd1_3_tar.gz を gd1.3.tar.gz へ rename する。
- www>telnet>cd usr
ディレクトリ usr にうつる。- www>telnet>gunzip gd1.3.tar.gz
gd1.3.tar.gz がなくなり、gd1.3.tar になる- www>telnet>tar -xf gd1.3.tar
gd1.3 というディレクトリが作成され、その下にいろいろと展開される。- www>telnet>cd gd1.3
ディレクトリ gd1.3 にうつる。- www>telnet>make gddemo
gddemo をコンパイルする。(Makefile の変更は必要ありませんでした)- www>telnet>./gddemo
実行する。demoout.gif が出来れば、OK- www>demoout.gif を表示してみる。
重要な注意!
Makefile の中の空白は Tab にする事に注意! スペースだと処理できませんでした。 オリジナルの Makefile と見比べてください。
- ftp>Makefile をテキストモードでサーバーからダウンロードする。
gctr0.c から、gctr0.cgi を作成するために以下の記述を Makefile へ書き加えます。
gctr0.cgi: gctr0.c libgd.a gd.h $(CC) gctr0.c -o gctr0.cgi $(LIBS)- ftp>Makefile をテキストモードでサーバーへ転送する。
- ftp>ソースファイル gctr0.c もテキストモードでサーバーへ転送する。
- www>telnet>/usr/local/bin/make gctr0.cgi
gctr0.cgi を作成する。- ftp>strip.gif をバイナリーモードで転送する。
お好みの .gif をDigit Mania から入手しておき、ファイル名を strip.gif にしておいてください。
gctr0.cgi は 10 桁の数字で等幅のものが使用できます。- www>gctr0.cgi を実行して表示してみる。
ブラウザから URL を指定しても動作します。
例 http://www2*.biglobe.ne.jp/~foo/usr/gd1.3/gctr0.cgi
これで、gctr0.cgi ができました!
ダウンロードしておきます。strip.gif, gctr0.cgi, gctr0-ex0.cgi, gctr0.dat の4つを好きなディレクトリに転送し、 パーミッションを変更して出来上がりです。 ファイル転送モードがいろいろありますので、注意してください。
- ftp>gctr0.cgi : 実行可能なファイルをダウンロード
- strip.gif : バイナリーモード
gctr-ex0.cgi で指定するファイル名は elec.gif になっています。- gctr0.cgi : バイナリーモード パーミッションは 700
- gctr-ex0.cgi : テキストモード パーミッションは 700
elec.gif になっている部分は、.gif のファイル名にあわせて変更してください。- gctr0.dat : 忘れずに作っておきます。テキストモード
さらに、以下のファイルがとっておくといいかもしれません。
- ftp>readme.txt : 説明書です。
- ftp>index.html : 説明書です。
- ftp>libgd.a : コンパイルの済んだ gd ライブラリ
- ftp>gd.h : gd ライブラリの C 用のヘッダー
- ftp>gdfonts : gd ライブラリの C 用のヘッダー
- ftp>gdfontl.h : gd ライブラリの C 用のヘッダー
- ftp>拡張子が .c のファイル : C のソースファイル(サンプル等)
usr には gd1.3.tar だけが残りました。
- www>telnet>rm *
危ないですよぉ ぜーんぶ削除ですから(^^;;;
カレントディレクトリが usr/gd1.3 であることを確認してから実行すること。- www>telnet>cd ..
カレントディレクトリが usr になる。- www>telnet>rmdir gd1.3