C言語でグラフィックス  
  【1】グラフィックス・ウィンドウを開く 次へ 

 グラフィックス・ライブラリGrLibを利用したプログラムを実行するとグラフィックス用のウィンドウが開き、グラフィックスが描画される。

サンプルプログラム 〔gr101.c〕
 ウィンドウを開いて閉じるプログラムを作成する。

#include <GrWin.h> 

int main(void)
{
    int width = 640, height = 400;    /* ウィンドウサイズ640×400 */

    GWopen(0);    /* ウィンドウのオープン */
    GWsize(-5, &width, &height);    /* ウィンドウサイズ設定 */
    GWsize(-3, NULL, NULL);         /* フレーム(枠)サイズ設定 */
    GWvport(0.0, 0.0, (float)width / (float)height, 1.0);     /* ビューポート設定 */
    GWindow(0.0, 0.0, (float)width - 1.0, (float)height - 1.0);
    GWquit();    /* 終了処理 */                /* ↑ワールド座標系設定 */
    return 0;
}
int GWopen(int ウィンドウ番号);
グラフィックス描画用ウィンドウをウィンドウ番号で開く。
 
int GWsize(int 種類,int *幅,int *高さ);
グラフィックス描画用ウィンドウに対して各種のサイズを設定する。幅と高さの値はアドレス渡しで指定する。
 
int GWvport(float X1,float Y1,float X2,float Y2);
 ビューポートを設定する。座標はfloat型で、ビューポートの左下(X1, Y1)と右上(X2, Y2)で指定する。
 用紙のアスペクト比(縦横比)を保ったまま、用紙の幅と高さの短い方を1に規格化した座標系のことを「規格化論理座標系」と呼ぶ。
 サンプルでは、高さを1として「幅/高さ」で幅の大きさを計算している。
 
int GWindow(float X1,float Y1,float X2,float Y2);
 ワールド座標系を設定する。座標はfloat型で、ワールド座標の左下(X1, Y1)と右上(X2, Y2)で指定する。
 
int GWquit(void);
 グラフィクスの終了処理である。
 

 BASIC言語などと同じように画面(ウィンドウ)の左上の座標を(0,0)にすることもできる。ワールド座標系設定を次のように変更する。
  GWindow(0.0, (float)height - 1.0, (float)width - 1.0, 0.0);

 

課題 〔gr102.c〕
 幅320ドット、高さ200ドットのウィンドウを開くプログラムを作成せよ。


  次へ 
 Copyright © 2005 Hiroshi Masuda 

 

 

inserted by FC2 system