3

グレー スケール イメージの整数配列があり、それをアプリケーションで表示する必要があります。gtkmm を使用して C++ でプログラミングしていますが、画像内の各ピクセルを表示してアクセスできるキャンバスのようなウィジェットが見つかりません。

4

2 に答える 2

0

私が理解している限り、コンストラクターで次のクラスを使用する必要があります。

Gdk::Bitmap::Bitmap(const char *data, int width, int height)

ビットマップを作成し、それにデータをロードします。

後で、Gdk::PixmapまたはGdk::Windowを使用して描画できます。ピクセルを格納するためのPixbufクラスもあります。

于 2009-11-24T13:53:45.033 に答える
0

私も解決策を見つけようとしています。これまでに (gtkmm-3.0 を使用して) 見つけた唯一の方法は、グレースケール画像をピクセルごとに RGB に変換することです。

元のデータ バッファーの 3 倍の大きさの別のデータ バッファーを割り当てます。次に、各ピクセルをオリジナルからコピーに 3 回コピーします。1280*1024 (私の場合) pixbuf を作成するには、次のように呼び出します。

Gdk::Pixbuf::create_from_data(copy, Gdk::COLORSPACE_RGB, false, 8, 1280, 1024, 1280*3);

ビットマップ内のピクセルにアクセスするには、Gdk::Pixbuf::get_pixels().

于 2012-04-15T07:13:35.593 に答える