gd ライブラリを使用したCプログラミング

安藤和敏 (静岡大学工学部), ando[at]sys.eng.shizuoka.ac.jp

December 14, 2007
次へ 前へ 目次

応用編 (cgi との連携)

今度は, 基本編2で作った testgd2 を プログラムから呼出して, その出力画像 (out.png)を HTML に貼り付けて表示させる CGI プログラム cgigd.c を 作成してみましょう.

HTMLファイル gdsample.html の保存

このリンクを右クリックして, 自分のPCのCygwinのホームディレクトリ (C:\cygwin\home\ログインID) に gdsample.html を保存して下さい. (後で他のファイルと一緒に prc に転送します.)

test0.cgi.c のコピー

test0.cのコピー cgigd.c を作ります.

ソースコードの編集

ノートPC上で meadow などのテキストエディタを使って, CGIのC言語ソースコード cgigd.c を下図のように編集して下さい.




ノートPC上でコンパイル

gcc でコンパイルします. cgihtml ライブラリ関数とリンクさせるために -lcgihtml オプションを使用します.


ノートPC上で実行

コンパイルに成功したら, 実行してみます.



下の図のような出力が得られたら成功です.

生成された画像の表示

出力画像が存在するディレクトリを Explorer などで開いて下さい.


出力ファイルをダブルクリックすれば, 適当なソフトウェアが起動して画像が表示されるでしょう.

ソースコードなどのサーバへの転送

編集が終ったら, ノートPCにある2つのソースコード(testgd2.c と cgigd.c)と HTMLファイル(gdsample.html) を, サーバへ転送します.

サーバ(prc)へのログイン

prc にログインします.

サーバ(prc)上でのコンパイル

2つのソースコード(testgd2.c と cgigd.c) をコンパイルして実行プログラム testgd2 と cgigd.cgi を作ります.


実行プログラムのcgi-binディレクトリへのコピー

生成された2つの実行プログラムを ディレクトリ public_html/cgi-bin/ へ, gdsample.html を public_html へコピーします.


ブラウザでの実行

Internet Explorer などの Web ブラウザを用いて,
http://prc.sys.eng.shizuoka.ac.jp/~自分のログインID/gdsample.html
を開いて下さい.


[計算]ボタンを押すと, cgigd.cgi が実行されます.


画像が更新されない場合は?

FORMから与える x1,y1,x2,y2 の値を変更しても画像が変化しない場合があります. これは, ブラウザが更新されたファイルを表示せずに, 以前にノートPCのハードディスクに保存された古い画像 ファイル(キャッシュファイル)を表示しているからです. キャッシュファイル(インターネット一時ファイル)を 表示せずに, 画像が更新されたときには新しい画像を使用するように, Internet Explorer の設定を変更するには以下の手順に従います.

Internet Explorer の設定の変更の仕方

ツールメニューのインターネットオプションをクリックします.



すると以下のようなウィンドウが現れますので, 設定ボタンを押します.



[ページを表示するごとに確認する]のラジオボタンにチェックを入れてから, OKボタンを押します.



OKボタンを押します.


次へ 前へ 目次