导航
  • 主页
  • 系统维护与使用
  • 应用程序开发
  • 内核源代码
  • 驱动程序开发
  • CPU和硬件区
  • UNIX文化
  • Solaris
  • Power Linux
  • 问答

熟悉GDK图像编程的请进,急!

w0911h 2009-07-14 09:44:55
问题是这样的,我在一个绘图区中一帧一帧的播放一个视频,现在要在画面上画一个很窄的矩形,用绿色填充,这个矩形要一直存在而且不能影响视频的播放,操作人员可以用鼠标拖动这个矩形来调整它的位置,请教高手应该如何实现
图像数据源是24位的RGB,目前显示图像用的gdk_draw_rgb_image()函数
...全文
112 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
w0911h 2009-07-20
BZ能不能帮忙把帖子移去linux区,这里好像没什么人知道。。。
回复
w0911h 2009-07-20
用我前面说的方法问题基本可以解决掉,但是显示图像的速度是25帧每秒,这样的话每次都要画矩形图像会闪动,请问有什么好的解决办法
回复
w0911h 2009-07-16
[Quote=引用 8 楼 largep 的回复:]
有橡皮线工具。你上网查查。
[/Quote]
没找到GTK中的橡皮线。。。
回复
michael_liuyong 2009-07-14
gdk_draw_rgb_image()函数 只是你的一个接口函数啊

你可以画个框,动态的,根据鼠标获取动态位置,然后把获取的位置传给 你要填充(绿色)的位置。

这样就可以实现啦。
回复
Nio96 2009-07-14
不会,期待楼下的。。
回复
jyh_baoding 2009-07-14
好象很多要手动加入,不易!!
回复
大前置 2009-07-14
帮顶~~~
回复
bluefox214 2009-07-14
是不是类似于播放影片时候的黑边?
如果单纯实现黑边的话可以在画视频数据前时把整个窗口区域刷绿。。

拖动这个区域的话感觉比较难,能否在要填充绿色的区域创建一个widget,给它涂成绿色就好
以后拖动事件就由此widget来响应,不知道这样是否可行
回复
largep 2009-07-14
有橡皮线工具。你上网查查。
回复
fish_gao 2009-07-14
完全不会,帮顶
回复
w0911h 2009-07-14
我现在的做法是在expose事件中绘图,在绘图之后调用gdk_draw_rectangle()画我要的矩形,给drawable添加鼠标按下,移动和放开事件,在移动事件里更新矩形位置,然后强制调用expose事件方法,这样我现在在单幅画面上没问题,多幅还没测,也还不知道这样做在播放视频的时候会不会影响速度
我的想法是可以有一种方法创建一个透明的图层,在这个图层上画个矩形,以后要动就只在这个图层上动,底下的图层只管播放,不知道是不是可以实现
回复
发动态
发帖子
Linux/Unix社区
创建于2007-08-27

2.0w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
社区公告
暂无公告