struct fb_var_screeninfo {
__u32 xres; /* visible resolution横像素 */__u32 yres; //竖像素
__u32 xres_virtual; /* virtual resolution */__u32 yres_virtual;
__u32 xoffset; /* offset from virtual to visible */__u32 yoffset; /* resolution */
__u32 bits_per_pixel; /* guess what代表颜色深度 */__u32 grayscale; /* != 0 Graylevels instead of colors
*/
struct fb_bitfield red; /*
bitfield in fb mem if true color, */struct fb_bitfield green; /*
else only length is significant */struct fb_bitfield blue;
struct fb_bitfield transp; /*
transparency */
__u32 nonstd; /* != 0 Non standard pixel format */
__u32 activate; /* see FB_ACTIVATE_* */
__u32 height; /* height of picture in mm???
*/__u32 width; /* width of picture in mm????
*/
__u32 accel_flags; /* acceleration flags (hints) */
/* Timing: All values in pixclocks, except pixclock (of
course) */__u32 pixclock; /* pixel clock in ps (pico seconds) */__u32 left_margin; /* time from sync to picture */__u32 right_margin; /* time from picture to sync */__u32 upper_margin; /* time from sync to picture */__u32 lower_margin;
__u32 hsync_len; /* length of horizontal sync */__u32 vsync_len; /* length of vertical sync */__u32 sync; /* see FB_SYNC_* */__u32 vmode; /* see FB_VMODE_* */__u32 reserved[6]; /* Reserved for future compatibility
*/};前几个成员决定了分辨率。xres和yres是在屏幕上可见的实际分辨率,在通常的vga模式将为640和400(也许是480,by highbar)。*res-virtual决定了构建屏幕时视频卡读取屏幕内存的方式。当实际的垂直分辨率为400,虚拟分辨率可以是800。这意味着800行的数据被保存在了屏幕内存区中。因为只有400行可以被显示,决定从那一行开始显示就是你的事了。这个可以通过设置*offset来实现。给yoffset赋0将显示前400行,赋35将显示第36行到第435行,如此重复。这个功能在许多情形下非常方便实用。它可以用来做双缓冲。双缓冲就是你的程序分配了可以填充两个屏幕的内存。将offset设为0,将显示前400行(假设是标准的vga),同时可以秘密的在400行到799行构建另一个屏幕,当构建结束时,将yoffset设为400,新的屏幕将立刻显示出来。现在将开始在第一块内存区中构建下一个屏幕的数据,如此继续。这在动画中十分有用。rgb设置信息确实是0,8,16但显示就是bgr,不合逻辑
后打开fb,输出fbd->vinfo.red.offset,fbd->vinfo.green.offset,fbd->vinfo.blue.offset的值,发现偏移为16,8,0,与测试一致。看来问题就在这里了,修改了这里的offset应该就能实现修改rgb顺序了。于是进行测试
fbd->vinfo.red.offset=0;
fbd->vinfo.green.offset=8;
fbd->vinfo.blue.offset=16;

From

Android Framebuffer设置分辨率相关推荐

  1. android webview设置分辨率,Android WebView 设置参考

    mWebView.setHorizontalScrollBarEnabled(false);//水平不显示 mWebView.setScrollBarStyle(WebView.SCROLLBARS_ ...

  2. android camera设置分辨率,Android Camera2预览输出大小

    我正在尝试使用Camera2 API通过ImageReader(YUV_420_888格式)设置相机预览.首先,我需要选择支持的预览尺寸: StreamConfigurationMap scmap = ...

  3. android 重新设置lcd分辨率,wm命令使用方法(修改android 分辨率)修改

    注:Android 4.3引入的wm工具shell wm命令及用法: 系统说明:ide usage:wm [subcommand] [options] wm size [reset|WxH] wm d ...

  4. 使用Android Studio设置调试的外接设备屏幕分辨率

    方法总结如下: 1.点击Android Studio下方的Terminal 2.输入以下代码(这边以设置分辨率720x1920为例): adb shell wm size wm size 720x19 ...

  5. uni-app 自定义相机拍照录像,可设置分辨率、支持横竖屏(ios、android)

    插件市场:uni-app 自定义相机拍照录像,可设置分辨率.支持横竖屏(ios.android)

  6. 逍遥android模拟器设置,逍遥安卓模拟器更改分辨率的具体操作方法

    在逍遥安卓模拟器中如何更改分辨率呢?逍遥安卓模拟器支持手柄使用,支持游戏多开等,根据情况调整分辨率,可以让游戏更加顺畅,那么,要怎么设置分辨率呢,相信很多用户和小编一样不太熟悉,那就一同去下文看看逍遥 ...

  7. android分辨率 x y,Android - 确定不同分辨率的位图上的特定位置(X,Y坐标)?

    我正在尝试创建的应用程序是棋盘游戏.它将有一个位图作为棋盘和棋子,移动到棋盘上的不同位置.该板的一般设计是方形的,具有一定数量的行和列,并具有用于外观的边框.想象一下国际象棋棋盘或拼字游戏板.Andr ...

  8. android 动态改变语言,android动态设置app当前运行语言的方法

    android开发中有时候碰到切换语言的需求,这时候需要通过代码动态改变当前运行语言. package com.example.androidtest; import java.util.Locale ...

  9. android壁纸设置,android设置壁纸 的方法

    前几天看到豌豆荚上面风景壁纸的APP 下载得挺火,闲来无事心痒痒的想写一个壁纸程序.由于是Android开发新手,忘记了一个很重要的开发步骤,就是对权限的设置.开始以为自己写的壁纸设置程序有问题,经过 ...

最新文章

  1. linux 天堂测试软件,[Ubuntu] HTTP Live Streaming 安装测试
  2. 嵌入式Linux之我行——ARM MMU工作原理剖析
  3. 64位cad commondialog添加_常用软件分享PDF转CAD软件
  4. 1.8-zabbix服务端安装
  5. sql 为什么要用where 1=1或者where 1 =0 ?
  6. python逐行打印_python中逐行打印
  7. “Mvc.ExceptionHandling.AbpExceptionFilter – Processing of the LINQ expression ‘xxx’ by ‘NavigationEx
  8. jupyter notebook 增加kernel的方法
  9. DFS走迷宫问题(非最短路径)
  10. 300万知乎用户数据如何大规模爬取?如何做数据分析?
  11. Python 综合应用 —— 名片管理系统
  12. [NLP]自然语言的处理步骤
  13. PaddlePaddle(4)——简单高效的部署与推理方法(Ⅰ)
  14. iOS输入框禁止输入emoji表情
  15. eclipse与myeclipse恢复已删除的文件和代码
  16. 用matlab画x 的定积分图像,matlab图像定积分
  17. date日期格式化 java,Java日期格式化常用方法
  18. 铃声文本串转二进制串的问题(midi)
  19. 介绍几个巨佬给大家认识
  20. JS实现双十一倒计时抢购效果

热门文章

  1. 循序渐进学Python 1 安装与入门
  2. Spring帖子汇总
  3. [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
  4. PetShop 4.0知识点:加密和解密Web.config文件的配置节
  5. cobertura试用
  6. CSRF verification failed. Request aborted.的解决办法
  7. mysql 自定义函数教程_Mysql 自定义函数
  8. oracle数据库进程不释放,Oracle数据库案例整理-Oracle系统运行时故障-无法释放已经结束的进程资源导致进程死锁...
  9. spring连接mysql出现问题_spring+hibernate连接mysql问题啊
  10. python判断数组中是否有重复元素_python经典面试算法题4.1:如何找出数组中唯一的重复元素...