android framebuffer

struct fb_fix_screeninfo 該結構體保存的是關於屏幕固定的參數code

struct fb_var_screeninfo 該結構體保存的是關於屏幕變化的參數,須要獲取frame buffer以前,這個結構體須要更新。class

fb_var_screeninfo 的參數介紹
date

xres     可見矩形的widthim

yres     可見矩形的heightimg


xres_virtual     vi

yres_virtualcopy


xoffsetco

yoffset結構體

void copyFromFrameBuffer()
{
     kesyPrintf("copyFromFrameBuffer\n");
     update_fb_info();
     char* vfd = (char*)readBufferFB();
     
     void const* base = 0;
     
     int bytespp = 4;
     size_t offset =  fscrinfo.line_length * scrinfo.yoffset +  (scrinfo.xoffset) * bytespp;
     base = (void const *)((char const *)vfd + offset);

     int w = scrinfo.xres;
     int h = scrinfo.yres;
     int s = scrinfo.xres_virtual;
     
     kesyPrintf("w=%d,h=%d,s=%d\n", w, h, s);

     int y = 0;
     for (y=0 ; y<h ; y++) {
          memcpy(gNewBuf + y*w*bytespp, base, w*bytespp);
          base = (void *)((char *)base + fscrinfo.line_length);
     }
}
相關文章
相關標籤/搜索