ソフトウェア設計及び演習2013

GDK2013::概要

GDKの概要

GDK (GIMP Drawing Kit)

  • GTKのグラフィック機能
  • 線を描いたり、四角を描いたり、丸を描いたり
  • GDKの関数は、GLibの関数をそのまま呼び出しているものが多い

Cairo(A Vector Graphics Library)

  • 最近はGDKの関数で直接描かずに,Cairoを使って書く
  • ベクターグラフィックスなのでジャギーがでない
  • 多くの出力デバイスに対応

画像

  • 2次元配列に「色」が格納されている
  • 左上が原点
  • 横がx軸(左から右に増加、ピクセル)
  • 縦がy軸(上から下に増加、ライン)
  • 配列の1つを「ピクセル(pixel)」と呼ぶ

GDK&Cairoで描く

  • 手で描くのと比較すると、
  ---手で描く--- ---GDKで描く--- ---cairoで描く---
---媒体--- 画用紙 GDK2013::ドローアブル GDK2013::ドローアブル
---道具--- 絵の具、筆 GDK2010::グラフィックコンテキスト GDK2013::Cairo
---手段--- GDK2010::描画関数 GDK2013::Cairo

GDKで絵を描く仕組み

  • ウィンドウ上に絵を書くときは直接ウィンドウへ描画せず、ドローイングエリアウィジェットを介して行う
  • 画面の再描画(exposeイベント)などの処理はユーザが用意しなければならない
  1. ドローイングエリアとピクスマップを作成 GDK2013::ドローアブル
  2. exposeイベントの設定 GDK2013::exposeイベント
  3. ピクスマップに描画 GDK2013::Cairo
  4. gtk_main()をした後に、exposeイベントが起こったらコピー GDK2013::exposeイベント

サンプル

ソースプログラムの所在
実行手順
 #svnから持ってくる(実行した直下にcairo_sampleディレクトリができる)
 svn export https://svn.cis.iwate-u.ac.jp/svn/csd/nakaya/cairo_sample/
 
 #持ってきたディレクトリに移動
 cd cairo_sample
 
 #make
 make
 
 #実行
 ./cairo_sample

リンク


最終更新日:2013/10/30 19:03:42