Recovery和Charger模式下屏幕旋转180度[转]

如何让Recovery (系统固件升级),charger(关机充电动画)时屏幕旋转180度

解决方法:

1.在bootable\recovery\minui\Graphics.c 文件找到gr_flip(void)方法

把memcpy(gr_framebuffer[gr_active_fb].data,gr_mem_surface.data,

fi.line_length*vi.yres);修改为

rotate_180(gr_framebuffer[gr_active_fb].data,gr_mem_surface.data

,fi.line_length*vi.yres);

2.添加方法

void *rotate_180(void *_dst,const void *_src,int len)

{

int pixelSize = PIXEL_SIZE,size,step = len/pixelSize;//像素个数

unsigned char *dst = _dst;

const unsigned char *src = _src + len;

while(step-- > 0){

size = pixelSize;

src -=size;

while(size-- > 0){

*dst++ = *src++;

}

src -=pixelSize;

}

Return _dst;

}

rotate_180方法的作用就是把buffer中的数据按像素倒转过来

例如:原始数据

{(1,2,3),(4,5,6),(7,8,9),

(a,b,c),(d,e,f),(g,h,i),

(A,B,C),(D,E,F),(G,H,I)

}

180度旋转后数据

{(G,H,I),(D,E,F),(A,B,C),

(g,h,i),(d,e,f),(a,b,c),

(7,8,9),(4,5,6),(1,2,3)

}

每个像素的数据不变,以像素为单位旋转顺序

这样就完成了旋转

时间: 2024-08-26 00:27:52

Recovery和Charger模式下屏幕旋转180度[转]的相关文章

[opencv] 图像旋转180度要注意的细节问题

两种方法: 第一种传统warpAffine cv::Point2f center = cv::Point2f(image.cols / 2, image.rows / 2); cv::Mat rotateMat; rotateMat = cv::getRotationMatrix2D(center, 180,1); cv::Mat rotateImg; cv::warpAffine(image, rotateImg, rotateMat, image.size()); 第二种transpose

关于如何让屏幕旋转90度

在Android 的目录下的build/tools/buildinfo.sh,脚本文件中注释掉 echo "ro.sf.hwrotation=90"这行, 或者adb shell进入system/build.prop文件中注释掉这一行

【分享】迅为iTOP4412开发板-Android系统屏幕旋转设置

1.1概述 Android4.0,Androd4.4源代码能够编译成手机模式和平板模式,讯为iTop4412 开发平台 的Android系统默认编译为平板模式.客户须要依据自己的产品设计及应用环境,切换屏幕 的显示方向,或者固定好一个显示方向,比如产品中使用不同分辨率的显示屏,或者显示屏 在产品中的固定方向发生改变等等,都须要进行屏幕旋转功能.  那么怎样设置屏幕的旋转 呢?我们提供两种方式满足客户的这一需求. 1.2  安装屏幕旋转APK 迅为公司公布的  Android4.4镜像中含有  S

View页面内容的旋转,在某些情况下可替代屏幕旋转使用

这个是在做小秘书的体重曲线图的时候用到的,横排的时候可以多显示些内容,可是由于很多未知的冲突导至屏幕旋转起来非常麻烦,可用用旋转页面的内容来达到旋转屏幕的效果. 代码如下: //旋转90度 CGAffineTransform at =CGAffineTransformMakeRotation(M_PI/2); at =CGAffineTransformTranslate(at, (viewContentWidth - viewContentHeight)/2, (viewContentWidth

android的屏幕旋转

1. 不做任何处理的情况下 如果没有针对性地做任何处理的话,默认情况下,当用户手机的重力感应器打开后,旋转屏幕方向,会导致app的当前activity发生onDestroy-> onCreate,会重新构造当前activity和界面布局,很多横屏/竖屏的布局如果没有很好的设计的话,转换为竖屏/横屏后,会显示地很难看. 如果想很好地支持屏幕旋转,则建议在res中建立layout-land和layout-port两个文件夹,把横屏和竖屏的布局文件放入对应的layout文件夹中. 2. 如何设置固定的

关于 Activity 横屏翻转 180度的问题

今天做了一个横屏视频播放,需要实现用户横屏的时候,翻转180度,Activity也跟着翻转180度,经过查询资料终于搞定了.把它记下来,免得以后忘记. step1: 为了防止翻转的时候重新创建Activity.所以需要在在androidmanifest.xml给Activity配置android:configChanges属性 代码如下: <activity android:name="cc.angis.jy365.activity.VideoPlayerActivity" an

ios系统 竖屏拍照 canvas处理后 图片旋转(利用exif.js解决ios手机上传竖拍照片旋转90度问题)

转:https://www.cnblogs.com/lovelgx/articles/8656615.html ---恢复内容开始--- 问题:html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 解决方法:利用exif.js解决ios手机上传竖拍照片旋转90度问题 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非横拍的ios照片进行角度旋转修正. 利用exif.js读取照片的拍摄信息,详见 htt

Recovery模式下/cache/recovery/目录下创建文件,开机后文件被删除

在一次需求的实现过程中需要在remcovery模式下,在/cache/recovery/目录下创建一个日志文件用于记录相关的日志信息,以便于在开机后读取这些日志信息,再根据日志信息做出相应的处理,但是奇怪的是每当开机完成该文件不被系统自动删除,而系统中原有的日志文件(如升级log---last_log_r)等却依然保留,因此在全局中搜索关键字"/cache/recovery/"发现了这其中的原因. 也就是说系统会在系统启动完成后删除/cache/recovery/目录下不是以"

html屏幕旋转事件监听

近期做微信服务号开发,在做图片展示的时候需要横竖屏的检测实现图片大小不同的展示. 添加屏幕旋转事件侦听,可随时发现屏幕旋转状态(左旋.右旋还是没旋). 摘自:http://bbs.phonegap100.com/thread-28-1-1.html //js 判断屏幕是否旋转 4. 屏幕旋转事件:onorientationchange 添加屏幕旋转事件侦听,可随时发现屏幕旋转状态(左旋.右旋还是没旋).例子: // 判断屏幕是否旋转 function orientationChange() {