CN107291349A - 显示界面旋转方法、装置、存储介质和计算机设备 - Google Patents
显示界面旋转方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN107291349A CN107291349A CN201710408806.8A CN201710408806A CN107291349A CN 107291349 A CN107291349 A CN 107291349A CN 201710408806 A CN201710408806 A CN 201710408806A CN 107291349 A CN107291349 A CN 107291349A
- Authority
- CN
- China
- Prior art keywords
- display interface
- view data
- mmu
- memory space
- postrotational
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种显示界面旋转方法、装置、存储介质和计算机设备。监测显示界面的图像数据是否发生更新,若监测到更新事件,则获取更新后的显示界面的图像数据,根据图像数据启动显示界面旋转线程,通过显示界面旋转线程对图像数据进行旋转。获取旋转后的图像数据,并根据旋转后的图像数据在显示屏上显示旋转后的显示界面。传统的对显示界面的图像数据进行旋转是基于定期器定时进行的。本发明对显示界面的图像数据进行旋转是基于监测到显示界面的图像数据有更新,才对更新后的显示界面的图像数据进行旋转,不用定时进行更新。这种事件触发机制相比于传统的定时机制,占用的CPU内耗较少,因此更加高效。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种显示界面旋转方法、装置、存储介质和计算机设备。
背景技术
在LCD(Liquid Ccrystal Display,液晶显示器)显示屏上对的显示界面进行旋转,传统方法采用GUI(Graphical User Interface,图形用户接口)库中的函数来实现图像的旋转。但是GUI库是一个庞大的数据库,占用很大的存储空间,如果只是使用GUI库中的用于显示界面旋转的函数,就显示的太过浪费、且很多不配备GUI库。如果使用硬件旋转模块来对的显示界面进行旋转,则增加了采购成本,且增加了加工的难度。所以如何不借助GUI库,也不借助硬件旋转模块来实现显示界面的旋转,是一个亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种显示界面旋转方法、装置、存储介质和计算机设备。
一种显示界面旋转方法,所述方法包括:
监测显示界面的图像数据是否发生更新;
若监测到更新事件,则获取更新后的显示界面的图像数据,根据所述图像数据启动显示界面旋转线程,通过所述显示界面旋转线程对所述图像数据进行旋转;
获取旋转后的图像数据,并根据所述旋转后的图像数据在显示屏上显示旋转后的显示界面。
在其中一个实施例中,所述监测显示界面的图像数据是否发生更新,包括:
通过内存管理单元MMU监测显示界面的图像数据是否发生更新。
在其中一个实施例中,所述通过内存管理单元MMU监测显示界面的图像数据是否发生更新,包括:
通过MMU使显存中的预设存储空间处于写保护状态,所述预设存储空间用于存储显示界面的图像数据;
当MMU监测到所述预设存储空间中有所述显示界面的图像数据写入时,则触发MMU异常中断,在MMU异常中断之后,将所述预设存储空间的写入状态改为可写以将所述显示界面的图像数据写入所述预设存储空间。
在其中一个实施例中,在所述监测显示界面是否发生更新之前,还包括:
获取旋转角度;
根据所述旋转角度创建显示界面旋转线程。
在其中一个实施例中,在所述获取旋转后的图像数据,并根据所述旋转后的图像数据在显示屏上显示旋转后的显示界面之后,还包括:
通过MMU使所述预设存储空间的写入状态恢复为写保护状态。
一种显示界面旋转装置,所述装置包括:
显示界面监测模块,用于监测显示界面的图像数据是否发生更新;
图像数据旋转模块,用于若监测到更新事件,则获取更新后的显示界面的图像数据,根据所述图像数据启动显示界面旋转线程,通过所述显示界面旋转线程对所述图像数据进行旋转;
显示界面显示模块,用于获取旋转后的图像数据,并根据所述旋转后的图像数据在显示屏上显示旋转后的显示界面。
在其中一个实施例中,所述显示界面监测模块还用于通过内存管理单元MMU监测显示界面的图像数据是否发生更新。
在其中一个实施例中,所述显示界面监测模块包括:
预设存储空间保护模块,用于通过MMU使显存中的预设存储空间处于写保护状态,所述预设存储空间用于存储显示界面的图像数据;
MMU异常中断模块,用于当MMU监测到所述预设存储空间中有所述显示界面的图像数据写入时,则触发MMU异常中断,在MMU异常中断之后,将所述预设存储空间的写入状态改为可写以将所述显示界面的图像数据写入所述预设存储空间。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
监测显示界面的图像数据是否发生更新;
若监测到更新事件,则获取更新后的显示界面的图像数据,根据所述图像数据启动显示界面旋转线程,通过所述显示界面旋转线程对所述图像数据进行旋转;
获取旋转后的图像数据,并根据所述旋转后的图像数据在显示屏上显示旋转后的显示界面。
一种计算机设备,所述计算机设备包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
监测显示界面的图像数据是否发生更新;
若监测到更新事件,则获取更新后的显示界面的图像数据,根据所述图像数据启动显示界面旋转线程,通过所述显示界面旋转线程对所述图像数据进行旋转;
获取旋转后的图像数据,并根据所述旋转后的图像数据在显示屏上显示旋转后的显示界面。
上述显示界面旋转方法、装置、存储介质和计算机设备,应用程序监测显示界面的图像数据是否发生更新,若监测到更新事件,则获取更新后的显示界面的图像数据,根据图像数据启动显示界面旋转线程,通过显示界面旋转线程对图像数据进行旋转。获取旋转后的图像数据,并根据旋转后的图像数据在显示屏上显示旋转后的显示界面。传统的对显示界面的图像数据进行旋转是基于定期器定时进行的。本发明对显示界面的图像数据进行旋转是基于监测到显示界面的图像数据有更新,才对更新后的显示界面的图像数据进行旋转,不用定时进行更新。这种事件触发机制相比于传统的定时机制,占用的CPU内耗较少,因此更加高效。
附图说明
图1为一个实施例中显示界面旋转方法的应用示意图;
图2为一个实施例中显示界面旋转方法的流程图;
图3为一个实施例中显示界面旋转方法的流程图;
图4为一个实施例中显示界面旋转方法的流程图;
图5为一个实施例中显示界面旋转方法的流程图;
图6为一个实施例中显示界面旋转方法的流程图;
图7为一个实施例中显示界面旋转装置的结构示意图;
图8为一个实施例中显示界面旋转装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本发明实施例提供的显示界面旋转方法可应用于如图1所示的环境中。图1为对Linux系统下的显示界面进行旋转,当然也可以对其他操作系统的显示界面进行旋转,只要操作系统运行在包含MMU(Memory Management Unit,内存管理单元)的芯片上即可,或者可以没有操作系统,只要芯片上有MMU即可。参考图(a)所示为一个显示屏的扫描方向与用户的使用习惯不一致的情况。图(b)为将图像数据进行旋转90°之后再进行显示所得到的显示界面,此时符合用户的使用习惯。
一般的应用程序采用GUI(Graphical User Interface,图形用户界面)库或者硬件旋转模块来对显示界面进行旋转。GUI库是指在编写软件时,使用图形用户界面(GUI)时所需要的库。从GUI库中调用函数就可以绘制出边框、按钮等图形,同时GUI库也提供图像旋转的功能。由于GUI库占据的存储空间很大或者不经常使用GUI库的功能,所以有很多应用程序可能不配备GUI库。且如果使用硬件旋转模块来实现显示界面的旋转,首先采购硬件旋转模块增加了成本,其次在主板上增加硬件旋转模块也增加了加工的难度。本发明实施例提供了一种既不需要使用GUI库也不需要增加硬件旋转模块,就能实现对显示界面进行旋转的方法。
在一个实施例中,如图2所示,提供了一种显示界面旋转方法,以该方法应用于图1中的应用环境为例进行说明,包括:
步骤210,监测显示界面的图像数据是否发生更新。
整个图像是由一个个的像素点组成的。如果要在显示器上显示一个图像,先要把这个图像离散化成一个一个的点,然后把各个点的颜色对应在显示屏的像素点上。LCD屏幕由LCD驱动器和LCD显示面板集成在一起所构成。LCD显示面板只负责显示面板里面的液晶分子旋转透光,LCD显示面板需要一定的模拟电信号来控制液晶分子。LCD驱动器负责给上述面板提供控制液晶分子的模拟电信号,LCD驱动器的控制信号(数字信号)来自于自己的数字接口,这个接口就是LCD屏幕的外部接口。
LCD控制器一般集成在SoC(System-on-a-Chip,系统级芯片)内部,LCD控制器负责通过数字接口向远端的LCD驱动器提供控制像素显示的数字信号。LCD控制器的关键在于时序,必须按照一定的时序和LCD驱动器通信。LCD控制器受SoC控制,SoC会从内存中读取像素数据传输给LCD控制器并最终传输给LCD驱动器。
SoC在内存中挑选一段内存(一般来说是程序员随便挑选的,但是挑选的时候必须符合一定规矩),然后通过配置将LCD控制器和这一段内存(以后称为显存)连接起来构成一个映射关系。一旦这个关系建立之后,LCD控制器就会自动从显存中读取像素数据传输给LCD驱动器。
传统的,在Linux系统下对显示界面的图像数据进行旋转是基于定期器定时进行的。本发明实施例,应用程序对显示界面的图像数据进行旋转是基于监测到显示界面的原始图像数据有更新,才对更新后的显示界面的图像数据进行旋转,不用定时进行更新。显示界面的原始图像数据存储在显存中的预设存储空间,对该预设存储空间进行监测就能够监测到显示界面的原始图像数据是否发生更新。
本发明实施例中通过MMU(Memory Management Unit,内存管理单元)监测显示界面的图像数据是否发生更新。
步骤220,若监测到更新事件,则获取更新后的显示界面的图像数据,根据图像数据启动显示界面旋转线程,通过显示界面旋转线程对图像数据进行旋转。
如果应用程序监测到显存中,用于存储显示界面的原始图像数据的预设存储空间有数据更新时,则获取更新后的图像数据,并启动显示界面旋转线程。显示界面旋转线程用于对更新后的图像数据进行旋转。显示界面旋转线程所采用的是旋转图像算法。该算法利用像素点在圆周上进行旋转,一像素点A(x,y)绕圆心点旋转β角度后,得到像素点C(c,d)。旋转后的像素点C(c,d)的坐标只与像素点A(x,y)的坐标和旋转角度β有关。利用上述关系就可以计算出旋转后得到的像素点C(c,d)的坐标。
步骤230,获取旋转后的图像数据,并根据旋转后的图像数据在显示屏上显示旋转后的显示界面。
应用程序通过显示界面旋转线程对更新后的图像数据进行旋转后,得到旋转后的图像数据。将旋转后的图像数据存储在显存中的另一块预设显存空间中,此时,LCD控制器就可以从该预设显存空间中获取图像数据,并传输给LCD驱动器。LCD驱动器根据图像数据在LCD面板上进行显示。
本实施例中,传统的,应用程序对显示界面的图像数据进行旋转是基于定期器定时进行的。本发明实施例中应用程序对显示界面的图像数据进行旋转是基于监测到显示界面的原始图像数据有更新,才对更新后的显示界面的图像数据进行旋转,不用定时进行更新。这种事件触发机制相比于传统的定时机制,占用的CPU内耗较少,因此更加高效。
在一个实施例中,监测显示界面的图像数据是否发生更新,包括:通过内存管理单元MMU监测显示界面的图像数据是否发生更新。
一般操作系统通过使用CPU的MMU功能,能实现以下功能:
其中一个功能是虚拟内存。有了虚拟内存,可以在CPU上运行比实际物理内存大的应用程序。为了使用虚拟内存,操作系统通常要设置一个交换分区(通常是硬盘),通过将不活跃的内存中的数据放入交换分区,操作系统可以腾出其空间来为其它的程序服务。虚拟内存是通过虚拟地址来实现的。
另一个功能是内存保护。根据需要对特定的内存区块的访问进行保护,通过这一功能,我们可以将特定的内存块设置成只读、只写或是可同时读写。
本发明实施例中,应用程序使用内存管理单元MMU来对存储了显示界面的原始图像数据的预设存储空间进行内存保护。例如,将该预设存储空间设置为只读,即不能往该预设存储空间中写入数据。当往该预设存储空间中写入数据时,则就会出现MMU异常中断。从而通过内存管理单元MMU实现了监测显示界面的图像数据是否发生更新。
在本实施例中,应用程序通过内存管理单元MMU来对存储了显示界面的原始图像数据的预设存储空间进行内存保护。对该预设存储空间中是否有数据写入进行实时监控,当有数据写入时,再启动显示界面旋转线程对图像数据进行旋转。既不会影响显示界面的正常显示及实时更新,同时又能够避免传统的定时旋转所带来的高CPU(CentralProcessing Unit,中央处理器)内耗。
在一个实施例中,如图3所示,通过内存管理单元MMU监测显示界面的图像数据是否发生更新,包括:
步骤212,通过MMU使显存中的预设存储空间处于写保护状态,预设存储空间用于存储显示界面的图像数据。
步骤214,当MMU监测到预设存储空间中有显示界面的图像数据写入时,则触发MMU异常中断,在MMU异常中断之后,将预设存储空间的写入状态改为可写以将显示界面的图像数据写入预设存储空间。
具体的,在本发明实施例中,应用程序通过内存管理单元MMU对存储了显示界面的原始图像数据的预设存储空间进行内存保护。例如,将该预设存储空间设置为只读,即不能往该预设存储空间中写入数据。当用户往该预设存储空间中写入数据时,则就会出现MMU异常中断。在MMU异常中断之后,再将该预设存储空间的写入状态改为可写,从而新的图像数据就可以写入该预设存储空间。此时启动显示界面旋转线程对更新后的图像数据进行旋转,得到旋转后的图像数据。将旋转后的图像数据存储在显存中的另一块预设存储空间中,此时,LCD控制器就可以从另一块预设存储空间中获取图像数据,并传输给LCD驱动器。LCD驱动器根据图像数据在LCD面板上进行显示。
在本实施例中,应用程序通过MMU先将对存储了显示界面的原始图像数据的预设存储空间进行内存保护。然后当监测到有图像数据写入时就将预设存储空间的写入状态进行修改,例如从只读改为可写。从而使得新的图像数据可以写入到预设存储空间。
在一个实施例中,如图4所示,在监测显示界面是否发生更新之前,还包括:
步骤240,获取旋转角度。
一般LCD屏扫描方式是固定的(从左上角的第一个像素点依次横向扫描)。在电子产品的实际生产过程中,由于产品结构的原因,可能导致安装到产品上的LCD显示屏的位置是任意的。所以就需要对图像数据的显示角度进行调整,例如旋转。具体的,一个横向扫描的显示屏安装在横向的产品上显示是正常的,而当因为产品结构问题需要将该横向显示的显示屏安装在竖向的产品上时,则此时显示就是不正常的,参考图1中的图(a)所示即为一个显示屏的扫描方向与用户的使用习惯不一致的情况。此时,就需要对显示界面的图像数据进行90°旋转,然后才能够保证显示在竖向产品上的显示界面是正常的,以符合用户的使用习惯的。当然也可能是产品在生产中由于模具的原因,产品结构有细微误差,例如安装显示屏的部分产品结构不是90°垂直的,而是95°或者其他数据。此时,为了避免产品报废,就需要对图像数据进行旋转5°以保证图像能够保持90°垂直显示。
步骤250,根据旋转角度创建显示界面旋转线程。
根据旋转角度去对显示界面旋转线程中所使用的旋转图像算法进行设定。请参见图所示,该算法利用像素点在圆周上进行旋转,一像素点A(x,y)绕圆心点旋转β角度后,得到像素点C(c,d)。
坐标A(x,y)点绕B(a,b)旋转度后的位置为C(c,d),则x,y,a,b,β,c,d有如下关系:
设A点旋转前的角度为δ,则旋转(逆势针)到C点后的角度为δ+β,求得A,B两点的距离:dist1=|AB|=y/sin(δ)=x/cos(δ),求得C,B两点的距离:dist2=|CB|=d/sin(δ+β)=c/cos(δ+β)。由于绕圆周旋转半径相等dist1=dist2,设dist1=r得到r=x/cos(δ)=y/sin(δ)=d/sin(δ+β)=c/cos(δ+β)。再由三角函数两角和差公式得到:
sin(δ+β)=sin(δ)cos(β)+cos(δ)sin(β)
cos(δ+β)=cos(δ)cos(β)-sin(δ)sin(β)
所以得出:
c=r×cos(δ+β)=r×cos(δ)cos(β)-r×sin(δ)sin(β)=xcos(β)-ysin(β)
d=r×sin(δ+β)=r×sin(δ)cos(β)+r×cos(δ)sin(β)=ycos(β)+xsin(β)
得到结论:旋转后的像素点C(c,d)的坐标只与像素点A(x,y)的坐标和旋转角度β有关。A点旋转后的C点总是在圆周上运动,圆周的半径为|AB|。利用上述关系就可以计算出旋转后得到的像素点C(c,d)的坐标。
在本实施例中,依据产品结构计算获得旋转角度,再依据旋转角度定制显示界面旋转线程,这样就实现了对图像数据的旋转,从而保证了图像数据在显示屏上的正确显示。
在一个实施例中,如图5所示,在获取旋转后的图像数据,并根据旋转后的图像数据在显示屏上显示旋转后的显示界面之后,还包括:
步骤260,通过MMU使预设存储空间的写入状态恢复为写保护状态。
在本实施例中,在通过MMU的写保护功能检测到一次图像数据更新事件,并更改了写保护状态以使新的图形数据写入了预设存储空间之后,启动显示界面旋转线程对新的图像数据完成旋转,将旋转之后的图像数据存储在另一块预设显存空间中,以便LCD控制器就可以从该另一块预设显存空间中获取图像数据,并传输给LCD驱动器。LCD驱动器根据图像数据在LCD面板上进行显示。在LCD面板上进行显示之后,MMU立马将预设存储空间的写入状态恢复为写保护状态,即不可以写入数据直到下次有新的图像数据,才能够使得MMU异常中断,从而再次更改预设存储空间的写入状态。在MMU将预设存储空间的写入状态恢复为写保护状态时,即没有新的图像数据写入,显示界面旋转线程是不需要工作的,从而降低了CPU的耗能,提高了效率。
在一个实施例中,提供了一种显示界面旋转方法,请参见图6,图6为Linux系统下的显示界面旋转方法的流程图。
首先,使用内存管理单元MMU来对存储了显示界面的原始图像数据的预设存储空间进行内存保护。例如,将该预设存储空间设置为只读,即不能往该预设存储空间中写入数据。
进一步的,根据产品结构设置旋转角度。例如,当因为产品结构问题需要将该横向显示的显示屏安装在竖向的产品上时,,就需要对显示界面的图像数据进行90°旋转,然后才能够保证显示在竖向产品上的显示界面是正常的,以符合用户的使用习惯。
进一步的,利用mmap函数把驱动里面的存储了显示界面的原始图像数据的预设存储空间映射到用户程序,好让用户方便访问该预设存储空间用于写入新的图像数据。
进一步的,根据旋转角度去对显示界面旋转线程中所使用的旋转图像算法进行设定。并等待MMU异常中断。当用户往该预设存储空间中写入数据时,则就会出现MMU异常中断。
进一步的,在MMU异常中断之后,再将该预设存储空间的写入状态改为可写,从而新的图像数据就可以写入预设存储空间。此时启动显示界面旋转线程对更新后的图像数据进行旋转,得到旋转后的图像数据。将旋转后的图像数据存储在显存中的另一块预设存储空间中。此时,LCD控制器就可以从该另一块预设存储空间中获取图像数据,更新至LCD缓存并传输给LCD驱动器。LCD驱动器根据图像数据在LCD面板上进行显示。
最后,显示界面在LCD面板上进行显示之后,MMU立马将预设存储空间的写入状态恢复为写保护状态,即不可以写入数据直到下次有新的图像数据写入。
在一个实施例中,如图7所示,还提供了一种显示界面旋转装置700,该装置包括:显示界面监测模块710、图像数据旋转模块720及显示界面显示模块730。
显示界面监测模块710,用于监测显示界面的图像数据是否发生更新;
图像数据旋转模块720,用于若监测到更新事件,则获取更新后的显示界面的图像数据,根据图像数据启动显示界面旋转线程,通过显示界面旋转线程对图像数据进行旋转;
显示界面显示模块730,用于获取旋转后的图像数据,并根据旋转后的图像数据在显示屏上显示旋转后的显示界面。
在一个实施例中,显示界面监测模块710还用于通过内存管理单元MMU监测显示界面的图像数据是否发生更新。
在一个实施例中,如图8所示,显示界面监测模块710包括:预设存储空间保护模块712及MMU异常中断模块714。
预设存储空间保护模块712,用于通过MMU使显存中的预设存储空间处于写保护状态,预设存储空间用于存储显示界面的图像数据;
MMU异常中断模块714,用于当MMU监测到预设存储空间中有显示界面的图像数据写入时,则触发MMU异常中断,在MMU异常中断之后,将预设存储空间的写入状态改为可写以将显示界面的图像数据写入预设存储空间。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
监测显示界面的图像数据是否发生更新;
若监测到更新事件,则获取更新后的显示界面的图像数据,根据图像数据启动显示界面旋转线程,通过显示界面旋转线程对图像数据进行旋转;
获取旋转后的图像数据,并根据旋转后的图像数据在显示屏上显示旋转后的显示界面。
在一个实施例中,上述程序被处理器执行时还实现以下步骤:
通过内存管理单元MMU监测显示界面的图像数据是否发生更新。
在一个实施例中,上述程序被处理器执行时还实现以下步骤:
通过MMU使显存中的预设存储空间处于写保护状态,预设存储空间用于存储显示界面的图像数据;
当MMU监测到预设存储空间中有显示界面的图像数据写入时,则触发MMU异常中断,在MMU异常中断之后,将预设存储空间的写入状态改为可写以将显示界面的图像数据写入预设存储空间。
在一个实施例中,上述程序被处理器执行时还实现以下步骤:
获取旋转角度;
根据旋转角度创建显示界面旋转线程。
在一个实施例中,上述程序被处理器执行时还实现以下步骤:
通过MMU使预设存储空间的写入状态恢复为写保护状态。
在一个实施例中,还提供了一种计算机设备,该计算机设备包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
监测显示界面的图像数据是否发生更新;
若监测到更新事件,则获取更新后的显示界面的图像数据,根据图像数据启动显示界面旋转线程,通过显示界面旋转线程对图像数据进行旋转;
获取旋转后的图像数据,并根据旋转后的图像数据在显示屏上显示旋转后的显示界面。
在其中一个实施例中,上述处理器执行计算机程序时还实现以下步骤:
通过内存管理单元MMU监测显示界面的图像数据是否发生更新。
在其中一个实施例中,上述处理器执行计算机程序时还实现以下步骤:
通过MMU使显存中的预设存储空间处于写保护状态,预设存储空间用于存储显示界面的图像数据;
当MMU监测到预设存储空间中有显示界面的图像数据写入时,则触发MMU异常中断,在MMU异常中断之后,将预设存储空间的写入状态改为可写以将显示界面的图像数据写入预设存储空间。
在其中一个实施例中,上述处理器执行计算机程序时还实现以下步骤:
获取旋转角度;
根据旋转角度创建显示界面旋转线程。
在其中一个实施例中,上述处理器执行计算机程序时还实现以下步骤:
通过MMU使预设存储空间的写入状态恢复为写保护状态。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种显示界面旋转方法,所述方法包括:
监测显示界面的图像数据是否发生更新;
若监测到更新事件,则获取更新后的显示界面的图像数据,根据所述图像数据启动显示界面旋转线程,通过所述显示界面旋转线程对所述图像数据进行旋转;
获取旋转后的图像数据,并根据所述旋转后的图像数据在显示屏上显示旋转后的显示界面。
2.根据权利要求1所述的方法,其特征在于,所述监测显示界面的图像数据是否发生更新,包括:
通过内存管理单元MMU监测显示界面的图像数据是否发生更新。
3.根据权利要求2所述的方法,其特征在于,所述通过内存管理单元MMU监测显示界面的图像数据是否发生更新,包括:
通过MMU使显存中的预设存储空间处于写保护状态,所述预设存储空间用于存储显示界面的图像数据;
当MMU监测到所述预设存储空间中有所述显示界面的图像数据写入时,则触发MMU异常中断,在MMU异常中断之后,将所述预设存储空间的写入状态改为可写以将所述显示界面的图像数据写入所述预设存储空间。
4.根据权利要求1所述的方法,其特征在于,在所述监测显示界面是否发生更新之前,还包括:
获取旋转角度;
根据所述旋转角度创建显示界面旋转线程。
5.根据权利要求1所述的方法,其特征在于,在所述获取旋转后的图像数据,并根据所述旋转后的图像数据在显示屏上显示旋转后的显示界面之后,还包括:
通过MMU使所述预设存储空间的写入状态恢复为写保护状态。
6.一种显示界面旋转装置,其特征在于,所述装置包括:
显示界面监测模块,用于监测显示界面的图像数据是否发生更新;
图像数据旋转模块,用于若监测到更新事件,则获取更新后的显示界面的图像数据,根据所述图像数据启动显示界面旋转线程,通过所述显示界面旋转线程对所述图像数据进行旋转;
显示界面显示模块,用于获取旋转后的图像数据,并根据所述旋转后的图像数据在显示屏上显示旋转后的显示界面。
7.根据权利要求6所述的装置,其特征在于,所述显示界面监测模块还用于通过内存管理单元MMU监测显示界面的图像数据是否发生更新。
8.根据权利要求7所述的装置,其特征在于,所述显示界面监测模块包括:
预设存储空间保护模块,用于通过MMU使显存中的预设存储空间处于写保护状态,所述预设存储空间用于存储显示界面的图像数据;
MMU异常中断模块,用于当MMU监测到所述预设存储空间中有所述显示界面的图像数据写入时,则触发MMU异常中断,在MMU异常中断之后,将所述预设存储空间的写入状态改为可写以将所述显示界面的图像数据写入所述预设存储空间。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权1至5中任一项所述的显示界面旋转方法。
10.一种计算机设备,所述计算机设备包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权1至5中任一项所述的显示界面旋转方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710408806.8A CN107291349B (zh) | 2017-06-02 | 2017-06-02 | 显示界面旋转方法、装置、存储介质和计算机设备 |
PCT/CN2017/099633 WO2018218796A1 (zh) | 2017-06-02 | 2017-08-30 | 显示界面旋转方法、存储介质和pos终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710408806.8A CN107291349B (zh) | 2017-06-02 | 2017-06-02 | 显示界面旋转方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291349A true CN107291349A (zh) | 2017-10-24 |
CN107291349B CN107291349B (zh) | 2020-01-21 |
Family
ID=60095281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710408806.8A Active CN107291349B (zh) | 2017-06-02 | 2017-06-02 | 显示界面旋转方法、装置、存储介质和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107291349B (zh) |
WO (1) | WO2018218796A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630311A (zh) * | 2003-12-16 | 2005-06-22 | 乐金电子(中国)研究开发中心有限公司 | 一种lcd画面转换装置的旋转翻盖终端 |
CN101740006A (zh) * | 2008-11-10 | 2010-06-16 | 鸿富锦精密工业(深圳)有限公司 | 移动终端及显示画面的方法 |
CN105159640A (zh) * | 2015-08-28 | 2015-12-16 | 小米科技有限责任公司 | 显示界面旋转方法、装置和移动终端 |
CN106708508A (zh) * | 2016-11-24 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 一种界面数据处理方法以及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4852012B2 (ja) * | 2007-07-09 | 2012-01-11 | 株式会社東芝 | 画像を処理する装置、画像の更新を検出する方法およびプログラム |
CN103257780A (zh) * | 2012-02-20 | 2013-08-21 | 联想(北京)有限公司 | 显示屏幕旋转方法和电子设备 |
CN104333621B (zh) * | 2014-11-06 | 2018-01-19 | 广东欧珀移动通信有限公司 | 移动终端及其摄像方法和装置 |
KR102491622B1 (ko) * | 2015-11-17 | 2023-01-25 | 삼성전자주식회사 | 가상 어드레스 생성기의 동작 방법과 이를 포함하는 시스템의 동작 방법 |
-
2017
- 2017-06-02 CN CN201710408806.8A patent/CN107291349B/zh active Active
- 2017-08-30 WO PCT/CN2017/099633 patent/WO2018218796A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630311A (zh) * | 2003-12-16 | 2005-06-22 | 乐金电子(中国)研究开发中心有限公司 | 一种lcd画面转换装置的旋转翻盖终端 |
CN101740006A (zh) * | 2008-11-10 | 2010-06-16 | 鸿富锦精密工业(深圳)有限公司 | 移动终端及显示画面的方法 |
CN105159640A (zh) * | 2015-08-28 | 2015-12-16 | 小米科技有限责任公司 | 显示界面旋转方法、装置和移动终端 |
CN106708508A (zh) * | 2016-11-24 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 一种界面数据处理方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107291349B (zh) | 2020-01-21 |
WO2018218796A1 (zh) | 2018-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030179243A1 (en) | Information-processing apparatus with virtual display function and display control method for use in the apparatus | |
WO2020017730A1 (ko) | 분할 화면을 제공하기 위한 전자 장치 및 방법 | |
US8381274B2 (en) | Security system and method for granting access | |
KR100390730B1 (ko) | 사용자 선택에 의한 컴퓨터 스크린상의 2차원 윈도우의3차원적 디스플레이 | |
US20130321467A1 (en) | Using snapshots to represent slow applications | |
US8893124B2 (en) | Method, apparatus and system for limiting access to virtualization information in a memory | |
JPH056197B2 (zh) | ||
EP1399814A2 (en) | System and method for displaying current images of virtual machine environments | |
US20100277272A1 (en) | Security system and method for granting access | |
JPS6329290B2 (zh) | ||
JPH0863135A (ja) | 情報処理装置 | |
US5107251A (en) | Method and apparatus for detecting cursors | |
CN107203434A (zh) | 一种纹理共享的方法、装置以及计算机可读存储介质 | |
JP4018855B2 (ja) | タッチパネル入力座標変換装置およびタッチパネル入力座標変換方法 | |
CN107291349A (zh) | 显示界面旋转方法、装置、存储介质和计算机设备 | |
US5668571A (en) | Method and apparatus for generating hardware icons and cursors | |
JPH06149522A (ja) | 情報処理装置及び方法 | |
JP6138269B2 (ja) | プログラマブル表示器、プログラム | |
US20220032775A1 (en) | Vehicle device and vehicle device control method | |
US11237694B2 (en) | Synchronized multiple pop-up windows in a virtualized computing environment | |
JPH0715014Y2 (ja) | 表示装置 | |
JPH07210352A (ja) | 処理進行状況表示方法 | |
JPH01263741A (ja) | システム立上げ時の画面表示方式 | |
JPS63120331A (ja) | ウインドウ開設制御方式 | |
JP3990078B2 (ja) | 情報入出力装置、情報入出力方法および情報入出力プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |