[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:001251] Gtk image graphics
堀之内です。
Ruby/GTK で画像ファイルでなくメモリー上のデータを描画したいので
すが、どうも良くわからないのでどなたか教えてください。
手元にあるデータは、2次元(256*256)の数値データで値は整数2バイト
分です。これを白黒かなにか適当なカラーマッピングで pixmap にして
表示したいというわけです。どうやら、gdk_pixmap_create_from_data
(Ruby/GtkではGdk::Pixmap.create_from_data)を使えば良さそうなの
ですが、使い方が良くわかりません。
Gdk (C API) のマニュアルでは
GdkPixmap* gdk_pixmap_create_from_data (GdkWindow *window,
const gchar *data,
gint width,
gint height,
gint depth,
GdkColor *fg,
GdkColor *bg);
Create a two-color pixmap from data in XBM data.
window : a GdkWindow, used to determine default values
for the new pixmap. Can be NULL, if the depth is given.
data : a pointer to the data.
width : the width of the new pixmap in pixels.
height : the height of the new pixmap in pixels.
depth : the depth (number of bits per pixel) of the new pixmap.
fg : the foreground color.
bg : the background color.
Returns : the GdkPixmap
となってます。Ruby版の引数も同じです。fg や bg をどうすればいい
のかわからないし、window もよく分からない。あらかじめ width *
height 分の window を確保しろというのかしら。カラーマップはどこで
指定するのかもわからない(windowに込みなのだろうか?)。ちなみに
window は NULL に出来るそうですが、Ruby/Gtk ではそれをサボってま
す。nil なら NULL という風に出来るはずなのに。NULLの場合カラーマッ
プはどうなるのか?
depthは2バイトのデータなら16ですね。わかるのはこれくらいです。
とほほ。