zoukankan      html  css  js  c++  java
  • Recovery和Charger模式下屏幕旋转180度

    转自:http://www.etwiki.cn/android/1267.html

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

    解决方法:

    1.在bootable ecoveryminuiGraphics.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)

    }

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

    这样就完成了旋转

  • 相关阅读:
    pandas数据处理攻略
    红黑树
    调用高德地图API(热力图)详解
    python文件操作细节
    mysql windows安装资源
    机器学习数据集资源
    python3.6+linux服务器+django1.11连接MYSQL数据库
    django2.0+linux服务器 ,如何让自己电脑访问
    Python笔记
    深度学习之无监督训练
  • 原文地址:https://www.cnblogs.com/dirt2/p/5910386.html
Copyright © 2011-2022 走看看