android截屏图片大小,Android截屏及图片解析
每个像素由
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截屏及图片解析相关推荐
- android+怎么分享图片大小,Android微信分享图片大于32k进行压缩
微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: package com.example.test; im ...
- android页面设置背景图片大小,android页面设置background为图片后,页面滑动掉帧问题...
最近接手的一个android项目里面,有个viewpager+3个fragment的页面,就是很常见的可以左右滑动切换页面的那种布局.接手的时候告诉我,这个页面有卡顿现象,性能需要优化.一开始觉得是f ...
- android相册和拍照并裁剪图片大小,Android 拍照并对照片进行裁剪和压缩实例详解...
Android 拍照并对照片进行裁剪和压缩实例详解 本文主要介绍 Android 调用摄像头拍照并对照片进行裁剪和压缩,文中给出了主要步骤和关键代码. 调用摄像头拍照,对拍摄照片进行裁剪,代码如下. ...
- android 自由缩放图片大小,android Matrix实现图片随意放大缩小或拖动
本文实例为大家分享了android Matrix图片随意放大缩小和拖动的具体代码,供大家参考,具体内容如下 step1:新建一个项目DragAndZoom,并准备一张照片放在res/drawable- ...
- Android全局修改字体大小,Android 仿微信全局字体大小调整
image 目录 一.前言 二.效果预览 三.实现步骤 1.自定义字体调整控件 2.滑动按钮改变当前页面预览字体大小 3.返回时,保存放大倍数并重启应用 4.初始化应用时配置字体放大倍数. 四.Dem ...
- android 推送图标大小,Android状态栏图标大小 – 使用Cordova / Phonegap推送插件
我正在使用Ionic(Cordova AngularJS)开发 Android应用程序.有了它,我使用推送插件( https://github.com/phonegap-build/PushPlugi ...
- html页面懒加载灰度图片大小,小程序初级指南--图片及其优化
图片格式 开发中常见的图片格式有 GIF.PNG8.PNG24.JPEG.WEBP. 我们需要根据图片格式的特性和场景需要选取适合的图片格式,而不是设计给什么用什么. PNGPNG 的目的是替代GIF ...
- ps如何修改图片大小尺寸_如何查看图片尺寸,大小及如何修改图片尺寸—淘宝美工入门课03...
上一篇文章给大家分享了一下豆芽常用字体,也提供了下载链接,今天和大家聊聊有关图片尺寸和图片大小相关的问题,主要包含以下这3个方面. 一,如何查看图片的尺寸(像素px) 二,如何改变图片的尺寸 三,了解 ...
- 如何修改图片大小200kb?怎样让图片不超过200k?
很多网站对于上传的图片大小是有限制的,比如教师资格证报名时,照片不得大于200kb,如果图片大小超过了200k,是无法顺利上传的,怎么才能图片压缩到200k以内呢?下面给大家推荐啊一个缩小图片kb的方 ...
- Python PIL调整图片大小、尺寸和转换图片格式,removebg改变图片背景、透明化处理
1.简介:Python利用PIL Image可以调整图片尺寸(宽度和高度).图片大小和转换图片格式,Python利用removebg可以改变图片背景.透明化处理. 2.特点:简单方便.快速. 3.适用 ...
最新文章
- php column not found,java.sql.SQLException: Column 'cloumn name' not found.
- 与优秀的人在一起进步:我发起的“乐学”分享活动
- mmap 和 shm 区别
- 【SQLite】简单的基本使用步骤
- MaxCompute在电商场景中如何进行漏斗模型分析
- jsp mysql电子档案管理系统_学生档案管理系统的设计与实现(JSP,MySQL)(含录像)
- python正则表达式提取字符串密码_用python正则表达式提取字符串
- CSS文字选中样式和文字闪烁效果
- 软件测试工程师常见的面试题大全
- python数字时钟
- 动词过去式和过去分词不规则变化
- 用的上的商学课51-100课学习笔记
- [html] 微软雅黑是有版权的,在页面中使用font-family:Microsoft YaHei会不会有版权问题呢?
- 时钟的同步与异步问题
- 为什么手机浏览器打不开html文件,win7浏览器打不开本地html文件的原因及解决方法...
- 最近刚开始学编程,记录一下学习感受
- 《Information Management:A Proposal》读后感
- 简单学JAVA-Java学习方法-JavaSE阶段
- Auto.js通知栏
- nas安装emby_Emby+KODI--完美的NAS多媒体方案