每个像素由

3个色素(红值,绿值和蓝值)构成,且

每行行首有

1个行标识字节。

在项目中,我们没采用这种方法,也未发现每行行首有什么标识字节。采用的方法是直接从/dev/graphics/fb0读取图像信息,在PC端,可以用adb pull /dev/graphics/fb0 D:\a 将Android手机上当前屏幕信息截回来存到PC中。对于320*480屏幕,该a文件大小为1024K 对于240*320的屏幕 ,a文件大小为620K

解析图像时,发现该a文件里面包含了几幅图的信息。不过我们只采用了第一幅图。每个像素占2字节RGB565的格式。这样我们就可以按像素解析成我们想要的图片格式。由于BMP效果较好,可以解析成BMP图像。

解析成BMP时,关键代码如下:首先设置BMP文件头,修改大小以及图片分辨率,然后从a文件中按像素读取rgb值写入BMP像素中。

sg_BHeader[0x02] = (UCHAR)(m_Width * m_Height * 3 + 0x36) & 0xff;

sg_BHeader[0x03] = (UCHAR)((m_Width * m_Height * 3 + 0x36) >> 8) & 0xff;

sg_BHeader[0x04] = (UCHAR)((m_Width * m_Height * 3 + 0x36) >> 16) & 0xff;

sg_BHeader[0x05] = (UCHAR)((m_Width * m_Height * 3 + 0x36) >> 24) & 0xff;

sg_BHeader[0x12] = (UCHAR)m_Width & 0xff;

sg_BHeader[0x13] = (UCHAR)(m_Width >> 8) & 0xff;

sg_BHeader[0x14] = (UCHAR)(m_Width >> 16) & 0xff;

sg_BHeader[0x15] = (UCHAR)(m_Width >> 24) & 0xff;

sg_BHeader[0x16] = (UCHAR)m_Height & 0xff;

sg_BHeader[0x17] = (UCHAR)(m_Height >> 8) & 0xff;

sg_BHeader[0x18] = (UCHAR)(m_Height >> 16) & 0xff;

sg_BHeader[0x19] = (UCHAR)(m_Height >> 24) & 0xff;

// sg_BHeader[0x34] = (UCHAR)(m_Width * m_Height * 3 ) & 0xff;

// sg_BHeader[0x35] = (UCHAR)(m_Width * m_Height * 3 >>8) & 0xff;

// sg_BHeader[0x36] = (UCHAR)(m_Width * m_Height * 3 >>16) & 0xff;

// sg_BHeader[0x37] = (UCHAR)(m_Width * m_Height * 3 >>24) & 0xff;

write(bmp, sg_BHeader, sizeof(sg_BHeader));

for(i = 0; i < m_Height; i++)

{

unsigned char *c = p + (m_Height - 1 - i) * m_Width * 2;

unsigned char cc;

for(j = 0; j < m_Width * 2; j+=2)

{

value = c[j] & 0x00FF;

value |= (c[j+1] << 8) & 0x0FF00;

r = ((value >> 11) & 0x01F) << 3;

g = ((value >> 5) & 0x03F) << 2;

b = ((value >> 0) & 0x01F) << 3;

outBuffer[index++] = (unsigned char)b;

outBuffer[index++] = (unsigned char)g;

outBuffer[index++] = (unsigned char)r;

}

}

write(bmp, outBuffer, sizeof(outBuffer));

建了一个简单的工程,里面包含了图片解析的主要代码,a,b,c是从手机截回来的图片,temp.bmp 是解析出来的图片

android截屏图片大小,Android截屏及图片解析相关推荐

  1. android+怎么分享图片大小,Android微信分享图片大于32k进行压缩

    微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: package com.example.test; im ...

  2. android页面设置背景图片大小,android页面设置background为图片后,页面滑动掉帧问题...

    最近接手的一个android项目里面,有个viewpager+3个fragment的页面,就是很常见的可以左右滑动切换页面的那种布局.接手的时候告诉我,这个页面有卡顿现象,性能需要优化.一开始觉得是f ...

  3. android相册和拍照并裁剪图片大小,Android 拍照并对照片进行裁剪和压缩实例详解...

    Android 拍照并对照片进行裁剪和压缩实例详解 本文主要介绍 Android 调用摄像头拍照并对照片进行裁剪和压缩,文中给出了主要步骤和关键代码. 调用摄像头拍照,对拍摄照片进行裁剪,代码如下. ...

  4. android 自由缩放图片大小,android Matrix实现图片随意放大缩小或拖动

    本文实例为大家分享了android Matrix图片随意放大缩小和拖动的具体代码,供大家参考,具体内容如下 step1:新建一个项目DragAndZoom,并准备一张照片放在res/drawable- ...

  5. Android全局修改字体大小,Android 仿微信全局字体大小调整

    image 目录 一.前言 二.效果预览 三.实现步骤 1.自定义字体调整控件 2.滑动按钮改变当前页面预览字体大小 3.返回时,保存放大倍数并重启应用 4.初始化应用时配置字体放大倍数. 四.Dem ...

  6. android 推送图标大小,Android状态栏图标大小 – 使用Cordova / Phonegap推送插件

    我正在使用Ionic(Cordova AngularJS)开发 Android应用程序.有了它,我使用推送插件( https://github.com/phonegap-build/PushPlugi ...

  7. html页面懒加载灰度图片大小,小程序初级指南--图片及其优化

    图片格式 开发中常见的图片格式有 GIF.PNG8.PNG24.JPEG.WEBP. 我们需要根据图片格式的特性和场景需要选取适合的图片格式,而不是设计给什么用什么. PNGPNG 的目的是替代GIF ...

  8. ps如何修改图片大小尺寸_如何查看图片尺寸,大小及如何修改图片尺寸—淘宝美工入门课03...

    上一篇文章给大家分享了一下豆芽常用字体,也提供了下载链接,今天和大家聊聊有关图片尺寸和图片大小相关的问题,主要包含以下这3个方面. 一,如何查看图片的尺寸(像素px) 二,如何改变图片的尺寸 三,了解 ...

  9. 如何修改图片大小200kb?怎样让图片不超过200k?

    很多网站对于上传的图片大小是有限制的,比如教师资格证报名时,照片不得大于200kb,如果图片大小超过了200k,是无法顺利上传的,怎么才能图片压缩到200k以内呢?下面给大家推荐啊一个缩小图片kb的方 ...

  10. Python PIL调整图片大小、尺寸和转换图片格式,removebg改变图片背景、透明化处理

    1.简介:Python利用PIL Image可以调整图片尺寸(宽度和高度).图片大小和转换图片格式,Python利用removebg可以改变图片背景.透明化处理. 2.特点:简单方便.快速. 3.适用 ...

最新文章

  1. php column not found,java.sql.SQLException: Column 'cloumn name' not found.
  2. 与优秀的人在一起进步:我发起的“乐学”分享活动
  3. mmap 和 shm 区别
  4. 【SQLite】简单的基本使用步骤
  5. MaxCompute在电商场景中如何进行漏斗模型分析
  6. jsp mysql电子档案管理系统_学生档案管理系统的设计与实现(JSP,MySQL)(含录像)
  7. python正则表达式提取字符串密码_用python正则表达式提取字符串
  8. CSS文字选中样式和文字闪烁效果
  9. 软件测试工程师常见的面试题大全
  10. python数字时钟
  11. 动词过去式和过去分词不规则变化
  12. 用的上的商学课51-100课学习笔记
  13. [html] 微软雅黑是有版权的,在页面中使用font-family:Microsoft YaHei会不会有版权问题呢?
  14. 时钟的同步与异步问题
  15. 为什么手机浏览器打不开html文件,win7浏览器打不开本地html文件的原因及解决方法...
  16. 最近刚开始学编程,记录一下学习感受
  17. 《Information Management:A Proposal》读后感
  18. 简单学JAVA-Java学习方法-JavaSE阶段
  19. Auto.js通知栏
  20. nas安装emby_Emby+KODI--完美的NAS多媒体方案

热门文章

  1. mysql表删除后恢复
  2. Team Leader 究竟要不要写代码?
  3. win10专业版开机画面模糊_为什么win10有些软件显示模糊_win10软件界面模糊的解决办法...
  4. iOS分享到WhatsApp
  5. Python学习日记之从Tushare上获取500成分股
  6. 我们是如何认识这个世界的呢
  7. 我的世界命令计算机,我的世界电脑版指令大全,你想要的指令都在这里
  8. 白杨SEO:聊聊微信红包封面、微信8.0状态背景图片和视频素材背后的商机
  9. Nginx的软件架构
  10. 浅谈微信公众平台和微信开放平台的区别