Gtk–做一个简单的选取截图程序

最近要做一个截图小软件,所以在功能上肯定是要有矩形选取截图这样的实现
使用简单的gdk函数,这可能会造成效率问题,不过只要求简单的截图还是可以的

这是一个简单的示例,例子大概是这个样子的
首先创建一个没有标题栏和边框的窗口,然后将该窗口最大化
这主要是为了能够获取到鼠标的位置,其实也可以有其它方法,比如使用X11的接口
但是考虑到这样可能对移植性不太好,所以就没有使用这种方法,而使用了这种变相的手法
接着我们设置这个窗口完全透明,我们再侦听鼠标按下信号、鼠标移动信号和鼠标释放信号
在鼠标按下时开始记住初始坐标,在鼠标移动时画出矩形在鼠标释放后销毁窗口并得到根窗口的整个截图
然后使用gdk_pixbuf_get_form_drawable函数从鼠标按下时记住的坐标和鼠标释放时得到的宽度中得出我们选取的矩形区域
再将这矩形区域显示出来或者保存到图片文件中,这个程序只是个示例,只用GtkImage构件显示出来
下面是代码

–阅读次数(41)

发表评论

电子邮件地址不会被公开。

*