OpenHarmony关于修改系统横屏导致启动视频显示不全问题解决

前言

OpenHarmony源码版本:4.0release

开发板:DAYU / rk3568

前段时间写的设置OpenHarmony启动视频,在竖屏状态下是正常的,但是横屏状态下显示不全。

链接直达:OpenHarmony 设备启动Logo和启动视频替换指南-CSDN博客

一、原因分析

系统源码中,系统(main.cpp)在读取屏幕宽高时,所读取到的宽高还是竖屏的宽高值:720*1280。(猜测可能是modeinfo获取高度比display_manager_config.xml的时机要早,C代码水平有限,如果有大神对读取时机有了解可以给解释下)

main.cpp代码目录:源码目录下  /foundation/graphic/graphic_2d/frameworks/bootanimation/src

二、修改C代码

通过原因分析后,我们知道横屏状态下读取到的宽高仍然是720*1280,要想显示正常需要将宽高调换,修改如下:

bootAnimation.Run(defaultId, 1280, 720);

这里的修改方法比较暴力,直接将宽高写死了。比较好的方式是

第1方案:修改源码,使modeinfo获取高度时机要晚于display_manager_config.xml的配置。

第2方案:先获取屏幕的方向,如果是竖屏方向正常设置,如果是竖屏,将宽高值对换下。

(以上方案都是自己的猜想,C语言能力有限,只能简单修改下代码,如果有大神知道怎么修改,可以在评论区回复下,感谢!!)

修改前效果:

修改后效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/278342.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【专题】树和二叉树的转换

目录 一、树转换成二叉树步骤一:加线——在兄弟之间加连线步骤二:抹线——除结点的左孩子外,去除其与其余孩子之间的关系步骤三:旋转——以树的根结点为轴心,将整树顺时针转45 二、二叉树转换成树步骤1:加线…

【setDS】牛客小白月赛83 E

登录—专业IT笔试面试备考平台_牛客网 题意 思路 首先,一个必要步骤是把它转化为两个序列,这样就变成了一个序列DS问题 我们的答案是一个位置 pos 后面还有多少位置和这个位置的颜色相同,考虑得到这个答案我们需要维护什么东西 我们只需要…

MongoDB 与 Python 的交互

文章目录 第1关:MongoDB 与 Python 的交互 第1关:MongoDB 与 Python 的交互 编程要求 根据提示,在右侧编辑器 Begin-End 处补充代码,完成右侧程序。 测试说明 点击评测,平台会对你编写的代码进行测试。 import pymo…

AI日报:OpenAI向新用户重新开放ChatGPT Plus订阅

欢迎订阅专栏 《AI日报》 获取人工智能邻域最新资讯 文章目录 总览Chatgptplus重新开放订阅#暂停原因功能 OpenAI的1000万美元安全人工智能拨款拨款初衷学术捐赠 总览 ChatGPT Plus再次向新用户开放,但目前每三小时限制发送40条消息。 OpenAI还宣布拨款1000万美元…

【Hive】——DDL(TABLE)

1 查询指定表的元数据信息 如果指定了EXTENDED关键字,则它将以Thrift序列化形式显示表的所有元数据。 如果指定了FORMATTED关键字,则它将以表格格式显示元数据。 describe formatted student;2 删除表 如果已配置垃圾桶且未指定PURGE&…

ToolLLM model 以及LangChain AutoGPT Xagent在调用外部工具Tools的表现对比浅析

文章主要谈及主流ToolLLM 以及高口碑Agent 在调用Tools上的一些对比,框架先上,内容会不断丰富与更新。 第一部分,ToolLLM model 先来说主打Function Call 的大模型们 OpenAI GPT 宇宙第一LLM,它的functionCall都知道&#xff0…

恒创:更换服务器,网站备案会掉吗

随着互联网的普及,越来越多的企业和个人选择通过网站来展示自己的形象和业务。然而,在网站建设和运营过程中,更换服务器是一个常见的问题。那么,更换服务器后,网站备案是否会受到影响呢? 网站备案是为了保…

前端开发中的单元测试(unit testing)和端到端测试(end-to-end testing)

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

重温经典struts1之文件上传

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 今天来学习下,每个项目都会有的文件上传功能,看看struts是怎么实现的。 步骤 编写三个jsp页面,一个是跳转到文件上传页面&#xff…

2023.12.15 FineBI与kettle

1.结构化就是可以用schema描述的数据,就是结构化数据,能转为二维表格, 如CSV,Excel, 2.半结构化就是部分可以转换为二维表格,如JSON,XML 3.非结构化数据,就是完全无法用二维表格表示的数据,如Word文档,Mp4,图片,等文件. kettle的流程 新建转换-构建流图-配置组件-保存运行 使…

如何用 Cargo 管理 Rust 工程系列 乙

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/__nvVZYti-G05QJHIp_f8Q 编译程序 这次我们用 cargo 来启动编译,cargo 提供了 build 指令来调度工具构建并输出软件。cargo build 只…

HTTP 414错误:请求URI过长,如何避免

在Web开发中,HTTP状态码是用于表示Web服务器响应的各种状态。其中,HTTP 414错误表示请求URI过长,这意味着客户端发送的请求URL超过了服务器所能处理的长度限制。 当请求的URI过长时,服务器可能无法正确处理请求,从而导…