截屏之后为什么电脑不能截屏了是白手机色的东西

您的位置:&>>&&>>&
DNF华北一区昔日王者剑魂哥霸气归来
&&&作者:麻花疼是213&&来源:网易&&nbsp&&
  本周末,知名玩家、剑魂回归地下城,迅速引起了华北一区某频道的爆满,足以看到剑魂哥的人气之高,对于那些地下城的老玩家来说,这真的是一件振奋人心的消息,这个时代需要那些给我们创造快乐的人!
  土豪哥回归,华北一53频道爆满:
  、剑魂,永远的土豪哥,这个老玩家应该熟悉得很,dnf历史上最早的大土豪,不仅土豪,其奔放的竞速视频也深深得征服了广大玩家的眼球,激起内心的热血。
  一把15国殇,开挂般得,在早期副本连通关都是问题的情况下,他做到了竞速,且是国服第一个拆牛栏的人,当时的暴力可想而知。土豪哥发明了复活换取cd,深渊不打减少牛5图的时间,猛龙跑路等各种竞速方法知道现在依然是个神话,当年15泰拉巨的视频出了之后便隐退&&
  11月30日王者归来,他引领了dnf竞速时代,是他成为了一代又一代玩家尤其是剑魂玩家心中的神,没有人会撼动他在像lz这样老玩家心中的地位。
  不管怎样,过去的已经过去了,土豪哥无论回不回来他都是从前的土豪哥,或许记忆中的才是最好的。
  喜欢土豪哥的同时也很喜欢,原因不仅仅是因为当年的竞速视频,很大一部分也是因为对人生的态度啊,宝宝给我的印象就是特别爱玩特别会玩的一人,无论游戏还是生活。
  奥运记录也是一年年被打破,但没有人忘记以前的中国女排,也没有人忘记受伤的刘翔,即使他们现在不在有惊人的成就,但他们是值得尊敬的! 所以土豪哥和旭旭宝宝在我们的眼里,还是不朽的传奇!新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分187 UID阅读权限10积分39帖子精华可用积分39 专家积分0 在线时间78 小时注册时间最后登录
白手起家, 积分 39, 距离下一级还需 161 积分
帖子主题精华可用积分39 专家积分0 在线时间78 小时注册时间最后登录
论坛徽章:0
我需要在Android的Native代码中进行全屏截图,通过读取framebuffer来获得raw 数据,然后转换成b4bmp并保存为文件。但是为什么我只能得到一张模糊错位的图片,有人知道为什么吗?谢谢!#include &stdlib.h&
#include &stdio.h&
#include &unistd.h&
#include &fcntl.h&
#include &sys/mman.h&
#include &sys/types.h&
#include &sys/types.h&
#include &linux/fb.h&
#pragma pack(1)
typedef struct bmp_header
{
& & //14B
& & unsigned short bfT
& & unsigned int bfS
& & unsigned short bfReserved1;
& & unsigned short bfReserved2;
& & uns
& & //40B
& & unsigned int infoS
& &
& &
& & unsigned short biP
& &
& & unsigned int biC
& & unsigned int biSizeI
& & int biXPelsPerM
& & int biYPelsPerM
& & unsigned int biClrU
& & unsigned int biClrI
} BMPHEADER;
typedef struct {
& & unsigned char *
& &
& &
& & struct fb_fix_
& & struct fb_var_
} FB;
static int get_framebuffer(FB *fb)
{
& & fb-&fd = open(&/dev/graphics/fb0&, O_RDWR);
& & if(fb-&fd & 0) {
& && &&&perror(&cannot open fb0&);
& && &&&return -1;
& & }
& & if(ioctl(fb-&fd, FBIOGET_FSCREENINFO, &fb-&fi) & 0) {
& && &&&perror(&failed to get fb0 info&);
& && &&&return -1;
& & }
& & if(ioctl(fb-&fd, FBIOGET_VSCREENINFO, &fb-&vi) & 0) {
& && &&&perror(&failed to get fb0 info&);
& && &&&return -1;
& & }
& & //dumpinfo(&fi, &vi);
& & fb-&bits = mmap(0, fb-&fi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fb-&fd, 0);
& & if(fb-&bits == MAP_FAILED) {
& && &&&perror(&failed to mmap framebuffer&);
& && &&&return -1;
& & }
int fb_bpp(FB *fb)
{
& & if (fb) {
& && &&&return fb-&vi.bits_per_
& & }
& & return 0;
}
int fb_width(FB *fb)
{
& & if (fb) {
& && &&&return fb-&vi.
& & }
& & return 0;
}
int fb_height(FB *fb)
{
& & if (fb) {
& && &&&return fb-&vi.
& & }
& & return 0;
}
int take_screenshot(char *path)
{
& & int w,
& &
& & unsigned short *
& & FB gr_
& & get_framebuffer(&gr_fb);
& & w = fb_width(&gr_fb);
& & h = fb_height(&gr_fb);
& & depth = fb_bpp(&gr_fb);
& & //convert pixel data
& & uint8_t *rgb24;
& & if (depth == 16) {
& && &&&rgb24 = (uint8_t *)malloc(w * h * 3);
& && &&&int i = 0;
& && &&&for ( ; i & w*h; i++) {
& && && && &uint16_t pixel16 = ((uint16_t *)gr_fb.bits)[i];
& && && && &// RRRRRGGGGGGBBBBBB -& RRRRRRRRGGGGGGGGBBBBBBBB
& && && && &// in rgb24 color max is 2^8 per channel (*255/32 *255/64 *255/32)
& && && && &rgb24[3*i+0]& &= (255*(pixel16 & 0x001F))/ 32;& && &//Blue
& && && && &rgb24[3*i+1]& &= (255*((pixel16 & 0x07E0) && 5))/64;& & //Green
& && && && &rgb24[3*i+2]& &&&= (255*((pixel16 & 0xF800) && 11))/32;& &&&//Red
& && &&&}
& & } else if (depth == 24) {
& && &&&rgb24 = (uint8_t *)gr_fb.
& & } else if (depth == 32) {
& && &&&//skip transparency channel
& && &&&rgb24 = (uint8_t *) malloc(w * h * 3);
& && &&&int i=0;
& && &&&for ( ; i &w*h; i++)
& && &&&{
& && && && &uint32_t pixel32 = ((uint32_t *)gr_fb.bits)[i];
& && && && &// in rgb24 color max is 2^8 per channel
& && && && &rgb24[3*i+2]& &=&&pixel32 & 0x000000FF;& && && &//Blue
& && && && &rgb24[3*i+1]& &= (pixel32 & 0x0000FF00) && 8;& &//Green
& && && && &rgb24[3*i+0]& &= (pixel32 & 0x00FF0000) && 16;&&//Red
& && &&&}
& & } else {
& && &&&//free
& && &&&close(gr_fb.fd);
& && &&&exit(2);
& & };
& & //save RGB 24 Bitmap
& & int bytes_per_pixel = 3;
& & BMPHEADER
& & memset ((char *)&bh,0,sizeof(BMPHEADER)); // sets everything to 0
& & //bh.filesize&&=& &calculated size of your file (see below)
& & //bh.reserved&&= two zero bytes
& & bh.bfType = 0x4D42;
& & bh.bfReserved1 = 0;
& & bh.bfReserved2 = 0;
& & bh.headersize = 54L;
& & bh.infoSize&&=&&0x28L;& && &// for 24 bit images
& & bh.width& &&&=& && && &&&// width of image in pixels
& & bh.height& & = -h;& && && & // height of image in pixels
& & bh.biPlanes&&= 1;& && && &&&// for 24 bit images
& & bh.bits& && &= 8 * bytes_per_ // for 24 bit images
& & bh.biCompression = 0L;& && &// no compression
& & int bytesPerL
& & bytesPerLine = w * bytes_per_& &&&// for 24 bit images
& & //round up to a dword boundary
& & if (bytesPerLine & 0x0003) {
& && &&&bytesPerLine |= 0x0003;
& && &&&++bytesPerL
& & }
& & bh.biSizeImage = (long)bytesPerLine * bh.
& & bh.bfSize = bh.headersize + bh.biSizeI
& & FILE *
& & //printf(&Bytes per line : %d\n&, bytesPerLine);
& & bmpfile = fopen(path, &wb&);
& & if (bmpfile == NULL) {
& && &&&close(gr_fb.fd);
& && &&&exit(3);
& & }
& & fwrite((char *)&bh, 1, sizeof (bh), bmpfile);
& & fwrite(rgb24,1,w*h*3,bmpfile);
& & fclose(bmpfile);
& & close(gr_fb.fd);
& & return 0;
}复制代码
12:01 上传
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
空间积分346 信誉积分1251 UID阅读权限100积分10548帖子精华可用积分10552 专家积分50 在线时间2121 小时注册时间最后登录
帖子主题精华可用积分10552 专家积分50 在线时间2121 小时注册时间最后登录
认证徽章论坛徽章:13
我测试了两台手机,一台截屏经常是黑色的,另一台正常.
空间积分346 信誉积分1251 UID阅读权限100积分10548帖子精华可用积分10552 专家积分50 在线时间2121 小时注册时间最后登录
帖子主题精华可用积分10552 专家积分50 在线时间2121 小时注册时间最后登录
认证徽章论坛徽章:13
又测试了一台,也是正常的
空间积分0 信誉积分187 UID阅读权限10积分39帖子精华可用积分39 专家积分0 在线时间78 小时注册时间最后登录
白手起家, 积分 39, 距离下一级还需 161 积分
帖子主题精华可用积分39 专家积分0 在线时间78 小时注册时间最后登录
论坛徽章:0
rover12421 从网上找过各种代码实验,都没有成功,多数都是这样模糊错位的。
空间积分346 信誉积分1251 UID阅读权限100积分10548帖子精华可用积分10552 专家积分50 在线时间2121 小时注册时间最后登录
帖子主题精华可用积分10552 专家积分50 在线时间2121 小时注册时间最后登录
认证徽章论坛徽章:13
& & 奇怪,我测试了3台手机都没问题哦.
& & 你用我编译的试试看.执行之后,会在同级目录生成一个screenshot.bmp文件
(5.31 KB, 下载次数: 17)
17:25 上传
下载次数: 17
空间积分0 信誉积分187 UID阅读权限10积分39帖子精华可用积分39 专家积分0 在线时间78 小时注册时间最后登录
白手起家, 积分 39, 距离下一级还需 161 积分
帖子主题精华可用积分39 专家积分0 在线时间78 小时注册时间最后登录
论坛徽章:0
rover12421 &&不好意思,最近出去了几天。你编译的我运行不了,放到Android上运行时提示无权限,但已经是root并且加执行权限了,我重新用那个代码编译并在另一台机器上测试,这次不错位,而是颜色偏差,全部成黄色。
空间积分346 信誉积分1251 UID阅读权限100积分10548帖子精华可用积分10552 专家积分50 在线时间2121 小时注册时间最后登录
帖子主题精华可用积分10552 专家积分50 在线时间2121 小时注册时间最后登录
认证徽章论坛徽章:13
& & 这个程序把色彩深度都转成了24位的,所以色彩失真很厉害.
& & 具体为啥有些机器截出的图片不正常就不太清楚了
空间积分0 信誉积分187 UID阅读权限10积分39帖子精华可用积分39 专家积分0 在线时间78 小时注册时间最后登录
白手起家, 积分 39, 距离下一级还需 161 积分
帖子主题精华可用积分39 专家积分0 在线时间78 小时注册时间最后登录
论坛徽章:0
rover12421 但是截屏保存为32位的那个alpha值没有意义吧?

我要回帖

更多关于 电脑为什么不能截屏 的文章

 

随机推荐