質問

pixbuf(メモリのデータから)から読み込まれる画像を表示しようとしています。画像は毎回更新されます(PixBufも時間とともに変化しているため)。私の質問は、ウィンドウには画像のみが含まれているため(定期的に更新されている)、GTKの描画可能な領域または描画領域が必要ですか?または、ウィンドウに画像を単に表示できますか?別のオプションは、カイロを使用することです。誰かがそれをする良い方法を提案してもらえますか?

役に立ちましたか?

解決

ファイルをpixbufにロードすると、new_from_fileコンストラクターなどがあります。

はい。

次に、Drawingareaの親のウィンドウを取得します(get_windowなどの方法があります)。これはあなたの描画可能になります。

GC(グラフィックコンテキスト)を作成します - 特別な値を設定する必要はありません。

DrawingareaをExposeイベントに接続します。 Exposeイベントでは、作成したGCを使用してPixBufを使用して、Draw_PixBufメソッドをDraw_PixBufメソッドと呼びます。

PixBufを何らかの形で更新するたびに、同じdraw_pixbufメソッドを呼び出します。

また、ファイルからロードしていないため、PIXMAPを使用することを検討することもできます。 Pixmap自体は描画可能なので、長方形や物事を直接描画できます。 Drawnareaに表示する唯一の本当の違いは、draw_pixbufの代わりにdraw_drawableメソッドを呼び出す必要があることです。

Perl/GTK2の使用の記憶からこれを書いていることに注意してください。これは、使用している言語にきれいにマッピングされない場合があります。

他のヒント

a GtkImage うまく機能し、リストしたすべてのものよりもシンプルになります;-)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top