mtk关机充电动画旋转90/270度后坐标计算

2023-11-10 11:30

本文主要是介绍mtk关机充电动画旋转90/270度后坐标计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mtk6580 android6.0 720*1280分辨率,需要旋转90度(1280*720)作横屏设备使用,但是logo文件夹没有对应旋转90度的"hd720nl"文件夹动画资源支持,只有“hd720”文件夹。查看到有相似分辨率1280*800的动画资源“wxganl/”文件夹,通过win自带画图工具重新调整一下大小变成1280*720的动画资源"hd720nl"使用。

//新建hd720nl文件夹,复制wxganl文件夹内容到hd720nl文件夹,批量替换wxganl前缀名的文件为hd720nl
rename 's/wxganl/hd720nl/' wxga*.bmp

 

1. project中的开机logo分辨率与旋转角度修改

vi device/eastaeon/xxx/ProjectConfig.mk
...
BOOT_LOGO = hd720nl
MTK_LCM_PHYSICAL_ROTATION = 90
...
vi kernel-3.18/arch/arm/configs/xxx_debug_defconfig
vi kernel-3.18/arch/arm/configs/xxx_defconfig...
CONFIG_MTK_LCM_PHYSICAL_ROTATION="90"
...
vi vendor/mediatek/proprietary/bootable/bootloader/lk/project/xxx.mk
...
MTK_LCM_PHYSICAL_ROTATION = 90
...
//作用于lk
vi device/eastaeon/xxx/eastaeon.mk
...
BOOT_LOGO = hd720nl
...

android frameworks旋转:

vi device/eastaeon/xxx/system.prop
...
ro.sf.hwrotation=90
...

 

2. 关机充电动画坐标计算

小技巧:打开win系统画图软件,

1).选择 查看->缩放->将图片放到到800%,

2).选择 查看->缩放->显示网格,这样就可以看到对应像素坐标了(因为logo使用bmp图片格式)

 

Android6.0的充电动画坐标修改头文件,下面是hd720分辨率旋转90\270度数据参考:

operation\alps\vendor\mediatek\proprietary\external\libshowlogo\cust_display.h
...
#if 0// hd720nl 1280*720 90度// battery capacity rectangle#define CAPACITY_LEFT                (558)#define CAPACITY_TOP                 (239)#define CAPACITY_RIGHT               (721) //CAPACITY_LEFT+width = 558 + 163 = 721#define CAPACITY_BOTTOM              (474) //蓝色低电量矩形图片中看到颜色高点+2// first number rectangle#define NUMBER_LEFT                  (570) //100%电量图片的"1"右移5像素#define NUMBER_TOP                   (79)  //看到top处像素点-7 = 86 - 7#define NUMBER_RIGHT                 (615) //NUMBER_LEFT + number_width = 570 + 45 = 615#define NUMBER_BOTTOM                (143) //NUMBER_TOP + number_high = 79 + 64 = 143// %  rectangle#define PERCENT_LEFT                 (660) //NUMBER_LEFT + 2*number_width#define PERCENT_TOP                  (79)  //=NUMBER_TOP#define PERCENT_RIGHT                (717) //PERCENT_LEFT + "%"图片width =  660 + 57#define PERCENT_BOTTOM               (143) //=NUMBER_BOTTOM// top animation part#define TOP_ANIMATION_LEFT           (558) //=CAPACITY_LEFT#define TOP_ANIMATION_TOP            (100) //定值,具体计算未知#define TOP_ANIMATION_RIGHT          (721) //=CAPACITY_RIGHT#define TOP_ANIMATION_BOTTOM         (129) //TOP_ANIMATION_TOP + 动画logo_high = 100 + 29 = 129// for old animation,下面4个已经不使用#define BAR_LEFT            (525)#define BAR_TOP             (250)#define BAR_RIGHT           (755)#define BAR_BOTTOM          (640)
#else// hd720nl 1280*720 270度// battery capacity rectangle#define CAPACITY_LEFT                (558)#define CAPACITY_TOP                 (245)#define CAPACITY_RIGHT               (721) //CAPACITY_LEFT+width = 558 + 163 = 721#define CAPACITY_BOTTOM              (480) //蓝色低电量矩形图片中看到颜色高点+2// first number rectangle#define NUMBER_LEFT                  (570) //100%电量图片的"1"右移5像素#define NUMBER_TOP                   (576)  //看到top处像素点-7 = 86 - 7#define NUMBER_RIGHT                 (615) //NUMBER_LEFT + number_width = 570 + 45 = 615#define NUMBER_BOTTOM                (640) //NUMBER_TOP + number_high = 79 + 64 = 143// %  rectangle#define PERCENT_LEFT                 (660) //NUMBER_LEFT + 2*number_width#define PERCENT_TOP                  (576)  //=NUMBER_TOP#define PERCENT_RIGHT                (717) //PERCENT_LEFT + “%”图片width =  660 + 57#define PERCENT_BOTTOM               (640) //=NUMBER_BOTTOM// top animation part#define TOP_ANIMATION_LEFT           (558) //=CAPACITY_LEFT#define TOP_ANIMATION_TOP            (619) //定值,具体计算未知#define TOP_ANIMATION_RIGHT          (721) //=CAPACITY_RIGHT#define TOP_ANIMATION_BOTTOM         (648) //TOP_ANIMATION_TOP + 动画logo_high = 100 + 29 = 129// for old animation#define BAR_LEFT            (525)#define BAR_TOP             (250)#define BAR_RIGHT           (755)#define BAR_BOTTOM          (640)
#endif

 

具体坐标计算如下,从对应分辨率的logo文件夹找出对应的battery logo图片放大再取对应像素点坐标:

 

3. 验证调试

1). android6.0 mt6580sdk提供的测试程序可以测试lk logo、kernel logo、充电动画

cd vendor/mediatek/proprietary/external/libshowlogo/libshowlogoTest//mm编译完,push到系统,例如测试充电动画
adb push xxx\operation\alps\out\target\product\xxx\system\bin\libshowlogotest sdcard///可执行程序测试
libshowlogotest charging fb new

 

2). 需要调试打印充电动画角度算法等

vi vendor/mediatek/proprietary/external/libshowlogo/show_logo_common.c

然后更新libshowlogo.so到系统(发现push几次so库后,测试程序运行有异常测试程序执行感觉卡卡的,重新烧录系统即可)

/mm编译完,pash到系统
adb push operation\alps\out\target\product\xxx\system\lib\libshowlogo.so /system/lib/chmod 644 /system/lib/libshowlogo.sosync

 

4. 参考资料

Android9.0 MTK 平板横屏方案修改(强制app横屏 + 开机logo/动画+关机充电横屏 + RecoveryUI 横屏)

[FAQ12646]适配开机lk阶段任意尺寸充电图标(比lcm size 小的图片)

[FAQ05711]LCM180度翻转方案

 

 

这篇关于mtk关机充电动画旋转90/270度后坐标计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/382385

相关文章

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Kotlin Compose Button 实现长按监听并实现动画效果(完整代码)

《KotlinComposeButton实现长按监听并实现动画效果(完整代码)》想要实现长按按钮开始录音,松开发送的功能,因此为了实现这些功能就需要自己写一个Button来解决问题,下面小编给大... 目录Button 实现原理1. Surface 的作用(关键)2. InteractionSource3.

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo