免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4359 | 回复: 1
打印 上一主题 下一主题

[图形界面] framebuffer截屏 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-08 11:26 |只看该作者 |倒序浏览
现在已经实现了framebuffer截取整屏,并保存为png格式图片。现在需要实现截取(x0,y0),到(x1,y1)这片区域中的显示内容,这个该如何实现?

  在tiff-3.9.4的tools/sgisv.c文件中,可以将LCD上的显示直接保存为tiff格式的图片,在它做截屏时使用的是openGL里库里的一个readdisplay()的function:

  readdisplay(xorg, yorg, xorg+xsize, yorg+ysize, scrbuf, RD_FREEZE);

该函数用来从截取LCD上(xorg, yorg) 到 (xorg+xsize,  yorg+ysize)这一区域的现实内容到scrbuf中。请问,如何直接读写framebuffer中的这片区域?

谢谢!

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
2 [报告]
发表于 2010-10-08 12:54 |只看该作者

  1. #define WIDTH 720
  2. #define HEIGHT 576
  3. bg_color = fb_mem;
  4. unsigned short *dest=malloc(sizeof(unsigned short) * WIDTH *HEIGHT);
  5. bg_color = xorg * yorg
  6. while(ysize--){
  7. memcpy(dest, bg_color, xsize);
  8. bg_color = (yorg+ysize)*WIDTH + xorg
  9. dest = dest + xsize
  10. }

复制代码
大概思路如上面,代码没有经过测试,有可能上面的是到着的图像
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP