android framebuffer

struct fb_fix_screeninfo 该结构体保存的是关于屏幕固定的参数

struct fb_var_screeninfo 该结构体保存的是关于屏幕变化的参数,需要获取frame buffer之前,这个结构体需要更新。

fb_var_screeninfo 的参数介绍

xres     可见矩形的width

yres     可见矩形的height

xres_virtual

yres_virtual

xoffset

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);
     }
}
时间: 2024-08-28 23:16:48

android framebuffer的相关文章

android framebuffer adb pull

1. 读取设备的framebuffer,最简单的方式是通过 adb adb shell cd /dev/graphics cat fb0 > screen   ;得到当中主屏幕的内容 你可以切换屏幕,然后将之前暂存的屏幕内容写入到当前主屏幕当中,其显示的内容是之前的内容 cat screen > fb0

全面的framebuffer详解【转】

转自:https://blog.csdn.net/wealoong/article/details/7957244 可以同时参考另外几篇详细文章: 基于S3C2440的嵌入式Linux驱动——Framebuffer子系统解读 linux LCD驱动(二)--FrameBuffer Linux LCD驱动(三)--图形显示 android framebuffer driver 小结[msm7627为例] 一.FrameBuffer的原理     FrameBuffer 是出现在 2.2.xx 内核

第5章 Android移植与驱动

第5章  Android移植与驱动 通过学习本章Android移植与驱动,知道了Android移植和驱动的关系.其中,设备驱动程序包括内核驱动程序和用户空间驱动程序.Linux系统的设备分为3类:字符设备.块设备和网络设备.除网络设备外,字符设备与块设备都被映射到Linux文件系统的文件和目录,通过文件系统的系统调用接口open().write().read().close()等函数即可访问字符设备和块设备.Android中内核的结构和标准的Linux2.6内核是基本相同的,Android在其中

Android的系统服务一览

System_Server进程 运行在system server进程中的服务比较多,这是整个Android框架的基础 Native服务 SurfaceFlinger 这是framebuffer合成的服务,将各个应用程序及应用程序中的逻辑窗口图像数据(surface)合成到一个物理窗口中显示(framebuffer)的服务程序 Java服务:http://hovertree.com/menu/java/这部分的服务大部分都有一个供应用进程使用的manager类,这就是一个RPC调用,用户通过调用x

Android Recovery Ui 分析

Android  recovery和android本质上是两个独立的rootfs, 只是recovery这个rootfs存在的意义就是为android这个rootfs服务,因此被解释为Android系统的一部分. recovery作为一个简单的rootfs, 提供了非常有限的几个功能,只包含了几个简单的库,UI的显示采用的是直接刷framebuffer的形式,作为android framework及app层的码农,对这种形式相对陌生,特抽点时间梳理了一番. 首先,浏览一下reocvery的mai

【转】高通平台android 环境配置编译及开发经验总结

原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流程分析 qcril 流程分析,设置sim卡锁 python scons 语法学习 Python 语言之 scons 工具流程分析: 1.2 搭建高通平台环境开发环境 高通and

Android上方便地开发的C程序

如果你基于没有一个专门的开发板练手,那你的Android手机也可以开发大多数C应用程序,安装好后编译C的编译器.本文只写一个Hello World的运行过程.优点是:不需要eclipse,不需要Android源码,不需要Android.mk,不需要NDK.一个C程序员就可以很好的利用Android了,需要一个编译器和一个adb要把程序放到Android系统中. 1.安装adb sudo apt-get install android-tools-adb 2.安装交叉工具链 sudo apt-ge

android4.4 webview chromium与chromium for android硬件渲染的异同

相同点: android4.4 webview chromium的渲染流程与chromium for android硬件渲染流程全解析(render进程)中总结的五个子流程完全一致. android4.4 webview chromium的渲染流程也是这五个子流程组成的. 不同点: 1.android4.4中网页渲染的驱动还是android的UI系统控制的.即WebView.onDraw()是渲染的入口.chromium for android没有用到WebView控件,绘制的驱动完全由底层ch

Android Camera API/Camera2 API 相机预览及滤镜、贴纸等处理

Android Lollipop 增加了Camera2 API,并将原来的Camera API标记为废弃了.相对原来的Camera API来说,Camera2是重新定义的相机 API,也重构了相机 API 的架构.初看之下,可能会感觉Camera2使用起来比Camera要复杂,然而使用过后,你也许就会喜欢上使用Camera2了.无论是Camera还是Camera2,当相机遇到OpenGL就比较好玩了. 问题及思路 Camera的预览比较常见的是使用SurfaceHolder来预览,Camera2