当前位置: 技术问答>linux和unix
linux ,gtk,glade图像界面编程,急急急!
来源: 互联网 发布时间:2016-04-07
本文导语: 各位高手:小弟首先有礼了! 现在我想用glad编一个界面,在上面显示图像,图像是usb传过来的,要考虑显示的速度。 我现在的任务只是把别人传过来的数据包解包然后重组图像显示。想请教怎么用glad...
各位高手:小弟首先有礼了!
现在我想用glad编一个界面,在上面显示图像,图像是usb传过来的,要考虑显示的速度。
我现在的任务只是把别人传过来的数据包解包然后重组图像显示。想请教怎么用glad显示图像,最好是在内存中重组后直接显示。
给出源代码的另外开帖给分。
小弟非常着急,盼望有人指点迷津!!!再次拜谢!!!
现在我想用glad编一个界面,在上面显示图像,图像是usb传过来的,要考虑显示的速度。
我现在的任务只是把别人传过来的数据包解包然后重组图像显示。想请教怎么用glad显示图像,最好是在内存中重组后直接显示。
给出源代码的另外开帖给分。
小弟非常着急,盼望有人指点迷津!!!再次拜谢!!!
|
开启一个线程专门用来接收USB数据,然后处理,GLADE只是画界面,图像的绘制工作还是要用GTK做,
对于图像的处理,你可以将采集的数据转换成GdkPixmap,然后在这个PIXMAP上创建cairo_t,这样你就可以在
图像上面操作了,当然你还可以转换成为GdkPixbuf然后做些放大,旋转等。
多线程中操作界面需要在线程中用gdk_threads_enter,gdk_threads_leave来括起来,或者用
gdk_threads_add_idle得
对于图像的处理,你可以将采集的数据转换成GdkPixmap,然后在这个PIXMAP上创建cairo_t,这样你就可以在
图像上面操作了,当然你还可以转换成为GdkPixbuf然后做些放大,旋转等。
多线程中操作界面需要在线程中用gdk_threads_enter,gdk_threads_leave来括起来,或者用
gdk_threads_add_idle得
|
楼上的方法应该就可以了。
补充下
将数据读取后显示
可以试用
GtkImage img = gtk_image_new()
//设置图片可以参考该函数
gtk_image_set(GtkImage *image ,GdkImage *val,GdkBitmap *mask);
|
你要显示的是什么格式的图片,不同的图片有不同的存储方式,你要知道USB传过来的是什么养的数据,比如是二制化后的数据,或者其它的什么数据,然后进行显示处理
|
很久不做图形