免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4073 | 回复: 7

[C] 自己写个linux截图,求助! [复制链接]

论坛徽章:
0
发表于 2013-02-28 10:25 |显示全部楼层
打算自己写个linux截图小程序。希望能够在大多数linux系统上都能运行,不管是图形界面还是命令行模式。从什么地方区显存比较合适呢?之前写了个基于framebuffer的,在suse11.4上运行时可以截图,但是高版本时截图的画面就是命令行了。不能截取当前屏幕的画面。而且在ubuntu下运行的话也不行。基于framebuffer存储图片可以么或者基于其他的?谢谢

论坛徽章:
0
发表于 2013-02-28 13:22 |显示全部楼层
想gnome这种,有api直接可以拿到root窗体的背景也就是抓屏,,以前做个一个.
这种高层次的api的好处的就是比底层的framebuffer那种通用.

命令行界面,纯字符的,不是虚拟终端那种应该是没有经过 framebuffer 显卡层的.抓不了图的吧.

论坛徽章:
0
发表于 2013-02-28 14:37 |显示全部楼层
回复 2# hmsghnh


    谢谢你的回答。你说的拿到root窗体的api是指openGL么?kde和gnome可以用同一种方式么?命令行模式好像framebuffer是工作的,我测试过framebuffer可以截屏。

论坛徽章:
4
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:11
发表于 2013-02-28 15:21 |显示全部楼层
他说的是XLib的接口。

我个人觉得你可以从Linux自己的framebuffer接口下手。

论坛徽章:
0
发表于 2013-02-28 15:34 |显示全部楼层
回复 4# starwing83


    谢谢,我试试xlib。好像framebuffer不具有通用性,我在suse11.4gnome下可以截图,只是色彩略微有点失真,但是在高版本的suse12.2gnome下只能截到控制台的界面,图形界面截取不到。我向frammebufer里面写数据的,桌面没改变。cat出来发现framebuffer里面的数据一直都是我写进去的图片数据。而且在ubuntu下截图会出现严重失真......

论坛徽章:
0
发表于 2013-03-01 17:01 |显示全部楼层
我用的GTK的接口,他那个函数已经对XLib的接口做了封装了,
http://developer.gnome.org/gdk/2.22/GdkScreen.html
gdk_screen_get_root_window  
根据这个就可以构建bitmap。

网上有很多人写了的,你可以参考一下
http://laokaddk.blog.51cto.com/368606/970054



    回复 5# mkshtk


   

论坛徽章:
0
发表于 2013-03-01 21:19 |显示全部楼层
我最近也有这个想法  有qq那种效果就蛮不错

论坛徽章:
0
发表于 2013-03-01 23:40 |显示全部楼层
试试imlib2. 我用过一个很强大的截图scort就是用这个实现的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2021中国系统架构师大会

【数字转型 架构重塑】2021年5月20日-22日第十三届中国系统架构师大会将在云端进行网络直播。

大会为期3天的议程,涉及20+专场,近120个主题,完整迁移到线上进行网络直播对会议组织来说绝非易事;但考虑到云端会议的直播形式可以实现全国各地技术爱好者的参与,也使ITPUB作为技术共享交流平台得到更好的普及,我们决定迎难而上。
http://sacc.it168.com/


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP