看板 C_and_CPP 關於我們 聯絡資訊
我想用gtk+做個撥圖片的程式, 圖片是在memory裡面: ( char *pData), 然後寬 width, 高 height : GtkWidget *window, *image; gtk_init(NULL, NULL); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); //image = gtk_image_new_from_file("xxx.bmp"); image = gtk_image_new_from_pixbuf(gdk_pixbuf_new_from_data ( pData, GDK_COLORSPACE_RGB, false, 8, width, height, width*3, NULL, NULL) ); gtk_window_set_title(GTK_WINDOW(window), "Mirror Op Receiver"); gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit),NULL); gtk_window_set_default_size(GTK_WINDOW(window), width, height); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_container_add(GTK_CONTAINER(window),image); gtk_widget_show_all(window); gtk_main(); 撥一張是ok的... 但若我更新 pData的內容 那請問要怎樣才能更新顯示出來的圖像呢 查了下是要設個計數器讓他時間到 就自動更新.... 不過怎都查不到這方面文章啊... 有有經驗的人能指點一下嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.158.204 ※ 編輯: DrStein 來自: 59.120.158.204 (06/14 18:05)
HuangTzHuan:gtk_image_set_from_pixbuf(image, new_pixbuf); 06/14 18:20
謝謝大大建譯 但我意思是 讓它自動更新, 不是某個回調函數中的更新畫面 時間到gtk自己會去調用這函數 這函數就是在寫入pData的資料內容 並且刷新顯示的圖巷: 意思有點類似: while(1) { UpdateData(pData); UpdateWindow(windows); Sleep(25); }/*while*/ ※ 編輯: DrStein 來自: 59.120.158.204 (06/14 18:57)
tomnelson:你可能要用timer, 然後在timer的callback function裡做 06/14 21:42
tomnelson:你要的換圖片動作! 06/14 21:42
tomnelson:另外GTK+有提供動畫功能的function,你可以查一下文件! 06/14 21:43
tomnelson:或許根本不用你一張一張去更新...(我沒記錯的話) 06/14 21:44
DrStein:請問能提示下函數名嗎 謝謝 :) 06/14 21:52
ncboy:g_timeout_add () or g_timeout_add_xxx () 06/14 22:03
Bencrie:timer是放在 glib 吧,prefix 是 g_timer 06/14 22:04
DrStein:那直接問 有沒推鍵得gtk書啊 查了真是少啊。。 06/14 23:05
Bencrie:讀 gtk 的 API reference & tutorial,雖然tutorial不太 06/15 08:32
Bencrie:完整 ... 大部分的東西看 API reference 就能解決 06/15 08:33
tomnelson:GTK+沒有"正體"中文書,不過它的文件與範例已經夠你用了! 06/17 13:00