Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Recovery和Charger模式下屏幕旋轉180度

Recovery和Charger模式下屏幕旋轉180度

編輯:關於Android編程

如何讓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)

}

每個像素的數據不變,以像素為單位旋轉順序

 

這樣就完成了旋轉

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved