Android 11 裁剪系统显示区域(适配异形屏)

在这里插入图片描述

概述

     在显示技术中,"OverScan"(超扫描)是一种调整显示图像边界的技术。通常情况下,OverScan 会在显示屏的边缘周围裁剪一小部分图像。这种裁剪是为了确保显示内容在屏幕上的完整可见性,尤其是在老式电视或投影仪等设备上,可能存在图像边缘出现失真或过多噪点的问题。

OverScan 通过裁剪图像边缘,可以隐藏显示器边缘的任何不完美之处,例如边缘上的噪点、失真或黑边。这有助于确保图像在屏幕上的边缘部分看起来整洁且不受干扰,提供更好的观看体验。

在一些情况下,OverScan 可能会在数字信号传输或视频播放过程中引入一些不必要的图像变形或丢失,因此在现代高清电视和显示器上,OverScan 往往是可以调整或关闭的选项。

如何裁剪

  1. Android 系统的 wm overscan
    wm overscan 命令是在 Android 4.2 Jelly Bean 版本中引入的,并且一直存在于后续的 Android 版本中。因此,从 Android 4.2 Jelly Bean 开始,就支持使用这个命令来调整屏幕的 OverScan 设置。
    在 Android 中,“wm overscan” 是一个命令行工具,用于在设备上调整屏幕的 OverScan 设置。OverScan 调整可以在某些情况下用于调整显示的边缘,以确保图像完全填充整个屏幕,或者调整图像边缘以隐藏可能存在的不完美之处。

    使用:

    adb shell wm overscan left,top,right,bottom
    

    这里的 left、top、right 和 bottom 是指要应用的 OverScan 调整的像素数,分别对应屏幕的左边、顶部、右边和底部。
    需要注意的是,使用这个命令可能会对屏幕显示产生意想不到的影响,因此在使用之前请确保了解你的设备支持的功能以及如何正确地使用它。

    实际效果:
    在这里插入图片描述

    wm overscan 300,0,300,0
    在这里插入图片描述

  2. 可惜的是:在 Android 11 中,“wm overscan” 命令已经被弃用,不再建议使用。 一种简单粗暴的改法:

diff --git a/frameworks/base/services/core/java/com/android/server/display/LogicalDisplay.java b/frameworks/base/services/core/java/com/android/server/display/LogicalDisplay.java
index 5cd9b4d7a5..751c42d98d 100644
--- a/frameworks/base/services/core/java/com/android/server/display/LogicalDisplay.java
+++ b/frameworks/base/services/core/java/com/android/server/display/LogicalDisplay.java
@@ -371,7 +371,7 @@ final class LogicalDisplay {// getSafeInsets is fixed at creation time and cannot changereturn deviceInfo.displayCutout.getSafeInsets();} else {
-            return new Rect();
+            return new Rect(0, 0, 1920, 544);//1080 - 536 = 544}}

在这里插入图片描述

参考

Android wm命令
通过 Tasker 实现「wm overscan」命令 [No Root]

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

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

相关文章

设备能源数据采集新篇章

在当今这个信息化、智能化的时代,设备能源数据的采集已经成为企业高效运营、绿色发展的重要基石。而今天,我们要向大家介绍的就是一款颠覆传统、引领未来的设备能源数据采集神器——HiWoo Box网关! 一、HiWoo Box网关:一站式解决…

广州华夏家博会盛大开幕,家居建材行业迎来新篇章

5月3日,备受瞩目的广州华夏家博会在广州琶洲会展中心盛大开幕。本次家博会汇聚了众多家居建材行业的知名品牌和优质产品,吸引了来自全国各地的专业观众和消费者前来参观。 作为家居建材行业的盛会,广州华夏家博会不仅是一个展示最新产品和技术…

Unity Timeline学习笔记(4) - 自定义轨道OnCreateClip和CreateTrackMixer用法上的区分

前面我们第二篇文章Unity Timeline学习笔记(2) - PlayableTrack是一个初步的PlayableTrack使用方法,有时候可能会个性化定制专属轨道。 OnCreateClip的例子 下面我们做一个例子: 首先是轨道 //FeatureTrack.cs using System.ComponentModel; using U…

AutoMQ 系统测试体系揭秘

01 前言 Apache Kafka 有着比较完备的自测体系。除了常规的单元测试和集成测试以外,Apache Kafka 还有着 1000 的“系统集成和性能测试”(以下简称系统测试)。系统测试会拉起一套真实的 Kafka 集群,并模拟用户使用 Kafka 集群的方…

《XXL_job技术文档》-分布式任务调度框架-双方式部署-tar.gz安装/docker安装

阿丹: 作为任务调度的使用,xxl_job是经常使用的,可以帮助程序员或者其他业务的定时任务变的可控。但是很多教程都是通过压缩包来进行运行和部署的,但是现在更多的都是将模块容器化。本文章一次性整理。 XXL-Job是一款开源的分布式…

计算机视觉大项目(1)-水果分级系统

项目来源:河北大学计算机视觉课程-杨老师. 一共有四个标题,本篇博客只完成前两问。 目录 实验目的: 实验内容: 实验步骤: 1.水果图像的分割 >掩膜图像Mask 是什么? >改进:去除反光部分的影响 2&#xf…

中颖51芯片学习10. Touch Key触摸按键功能

中颖51芯片学习10. Touch Key触摸按键功能 一、SH79F9476 资源介绍1. 特性2. 系统框图:3.准备环境 二、准备工具三、开发步骤1. 新建项目流程(1)新建工程(2)选择芯片和封装(3)触摸配置按键&…

【人工智能AI书籍】TensorFlow机器学习实战指南(推荐)

今天又来给大家推荐一本人工智能方面的书籍<TensorFlow机器学习实战指南>。TensorFlow是一个开源机器学习库。本书从TensorFlow的基础开始介绍&#xff0c;涉及变量、矩阵和各种数据源。之后&#xff0c;针对使用TensorFlow线性回归技术的实践经验进行详细讲解。后续章节…

Spark原理之Cache Table的工作原理及实现自动缓存重复表的思考

CACHE TABLE的能力 使用此语法&#xff0c;可以由用户自定义要缓存的结果集&#xff0c;实际上就是一个临时表&#xff0c;不过数据存储在Spark集群内部&#xff0c;由Application所分配的executors管理。 一旦定义了一个缓存表&#xff0c;就可以在SQL脚本中随处引用这个表名…

Java并发常见面试题总结(上)

什么是线程和进程? 何为进程? 进程是程序的一次执行过程&#xff0c;是系统运行程序的基本单位&#xff0c;因此进程是动态的。系统运行一个程序即是一个进程从创建&#xff0c;运行到消亡的过程。 在 Java 中&#xff0c;当我们启动 main 函数时其实就是启动了一个 JVM 的进…

读懂一本书笔记

文章目录 引言 我是一个用读书改变自己生活的人01 会读书&#xff0c;更要会讲书复杂时代&#xff0c;阅读是大众反脆弱的武器你焦虑吗&#xff1f;如何从“单向度的人”变为“多向度的人”第一&#xff0c;读书是主动的学习方式第二&#xff0c;读书是有针对性的学习方式 讲书…

MAC 本地搭建Dify环境

Dify 介绍 Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员&#xff0c;也能参与到 AI 应用的定义和数据运营过…