Recovery和Charger模式下屏幕旋转180度
2016-09-26 19:34
218 查看
转自:http://www.etwiki.cn/android/1267.html
如何让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.添加方法
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)
}
每个像素的数据不变,以像素为单位旋转顺序
这样就完成了旋转
如何让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)
}
每个像素的数据不变,以像素为单位旋转顺序
这样就完成了旋转
相关文章推荐
- Recovery和Charger模式下屏幕旋转180度[转]
- Recovery和Charger模式下屏幕旋转180度[转]
- Recovery和Charger模式下屏幕旋转180度
- [RK3288][Android6.0] 调试笔记 --- Recovery模式下显示旋转180度
- android 屏幕旋转180度
- android4.0屏幕启动时默认180度旋转
- Android屏幕显示旋转180度解决方法
- Android屏幕旋转180度解决方法
- iOS屏幕旋转之为横屏视频播放增加竖屏模式
- android 屏幕旋转180度
- Android 屏幕处于横屏状态 旋转180度界面切换显示
- 手机屏幕旋转180度
- Android8.0 屏幕旋转180度
- android 屏幕旋转90度,180度
- Android Recovery模式
- 旋转屏幕
- Java的秘密武器:使用全屏幕模式
- QT/QTOPIA屏幕和字体旋转的实现
- 禁止屏幕旋转
- 对352*288的RGB进行180度旋转