GTK高手帮帮忙,问题解决了再加分
我的项目有一个功能是这样的,在一个绘图区中播放视频,要在画面上的不同位置显示8个矩形,矩形不能影响画面的播放,而且要经常变换颜色(红绿,每个矩形一秒钟可能要变换几次),我现在是这样做的,把播放视频的绘图区放到一个fixed上,然后用8个小绘图区表示矩形,用gdk_draw_rgb_image()将视频帧画到绘图区中实现播放,在矩形需要变色的时候,先用gdk_window_set_background改变颜色,然后调用gdk_window_invalidate_rect()函数重绘窗口实现变色,但是这样有时候程序确实发送了变色消息,但是颜色却没有改变,不知道是什么原因,会不会是实现变色的效率太低,如果是的话那有没有更好的方法去改变一个控件的颜色?
我想在视频绘图区上加一个透明的矩形绘图区,然后用gdk_draw_rectangle函数把所有的矩形都画到那个绘图区上,那样变色只要重绘矩形就行了,不知道这样的效率是不是好点,但是我用gtk_window_set_opacity()方法却不能实现透明,我的GTK版本是2.12.1