CN114968423B - 一种长页面截屏方法及电子设备 - Google Patents
一种长页面截屏方法及电子设备 Download PDFInfo
- Publication number
- CN114968423B CN114968423B CN202110189021.2A CN202110189021A CN114968423B CN 114968423 B CN114968423 B CN 114968423B CN 202110189021 A CN202110189021 A CN 202110189021A CN 114968423 B CN114968423 B CN 114968423B
- Authority
- CN
- China
- Prior art keywords
- page
- display screen
- long page
- interface
- long
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000009877 rendering Methods 0.000 claims abstract description 24
- 238000003860 storage Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005096 rolling process Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 229920001621 AMOLED Polymers 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0483—Interaction with page-structured environments, e.g. book metaphor
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及电子设备技术领域,具体涉及一种长页面截屏方法及电子设备。该方法包括:通过电子设备的物理显示屏显示第一界面,所述第一界面是长页面的局部;接收针对所述长页面的截屏操作;响应于所述截屏操作,创建能够完整显示所述长页面的虚拟显示屏;在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面;利用所述第二界面,生成包括所述长页面的截屏图像。在该方法中,通过创建能够在一个时刻完整显示长页面的虚拟屏,并据此重新绘制长页面,利用重新绘制的长页面,实现了一次截取,即可得到长页面的完整截屏图像。
Description
技术领域
本申请涉及电子设备技术领域,具体涉及一种长页面截屏方法及电子设备。
背景技术
随着电子设备的发展,具有显示屏的电子设备可以运行多种应用,呈现的不同的页面。受限于物理显示屏的尺寸限制,有的页面不被物理显示屏在一个时刻完整显示,需要滚动显示。不被电子设备的显示屏在一个时刻完整显示,而需要滚动显示的页面,可以称为长页面。
有时,用户需要长页面的截屏图像,例如用户在分享其所浏览的页面时,截取并分享长页面的图像。目前长页面的截屏方案为分别截取显示屏在不同时刻所显示的长页面的局部,得到长页面的多个局部图像。然后,拼接该多个局部图像,以得到一张比较完整的长页面截图。该方案可能发生拼接内容重叠或缺少等问题,长页面截图效果不佳。
发明内容
本申请实施例提供了一种长页面截屏方法及电子设备,可以在通过一次界面截图,截取到长页面的完整截图,实现了较佳的截图效果。
第一方面,本申请实施例提供了一种长页面截屏方法,应用于配置有物理显示屏的电子设备,所述方法包括:通过所述物理显示屏显示第一界面,所述第一界面是长页面的局部;接收针对所述长页面的截屏操作;响应于所述截屏操作,创建能够完整显示所述长页面的虚拟显示屏;在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面;利用所述第二界面,生成包括所述长页面的截屏图像。
也就是说,在该方法中,通过创建能够在一个时刻完整显示长页面的虚拟屏,并据此重新绘制长页面,利用重新绘制的长页面,实现了一次截取,即可得到长页面的完整截屏图像。
在一种可能的实现方式中,所述布局信息包括以下至少一项:
所述长页面上不同布局元素之间的相对大小、所述长页面上的不同布局元素之间的相对位置。
也就是说,在该实现方式中,可以获取长页面上的布局元素以及不同布局元素之间的位置关系,由此可以对长页面进行绘制渲染。
在一种可能的实现方式中,所述创建能够完整显示所述长页面的虚拟显示屏包括:创建第一虚拟显示屏;在所述第一虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第三界面;当所述第三界面为所述长页面的局部时,对所述第一虚拟显示屏的显示参数进行调整,以得到第二虚拟显示屏;在所述第二虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第四界面;当所述长页面在所述第四界面中完整显示时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
也就是说,可以通过调整虚拟显示屏的显示参数,由此可以能够创建出能够完整显示长页面的虚拟显示屏。
在一种可能的实现方式中,当所述长页面在所述第四界面中完整显示时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏,包括:当所述长页面在所述第四界面中完整显示,且所述第四界面仅显示所述长页面时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
也就是说,在该实现方式中,可以创建出刚好可以完整显示长页面的虚拟显示屏。
在一种可能的实现方式中,所述在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面,包括:确定所述第四界面为所述第二界面。
也就是说,在该实现方式中,在虚拟显示屏能够完整显示长页面的情况下,可以将用于测量该虚拟显示屏的显示参数是否合适的界面,直接用作用于得到截屏图像的界面。
在一种可能的实现方式中,所述布局信息包括以下至少一项:
所述长页面的纵横比、所述长页面的尺寸。
在一种可能的实现方式中,所述创建能够完整显示所述长页面的虚拟显示屏包括:创建具有所述长页面的纵横比或所述长页面的尺寸的虚拟显示屏,以得到能够完整显示所述长页面的虚拟显示屏。
也就是说,在该实现方式中,可以根据长页面的纵横比或尺寸,直接创建出能够完整显示该长页面的虚拟显示屏。
在一种可能的实现方式中,所述利用所述第二界面,生成包括所述长页面的截屏图像包括:按照预设的图像格式,存储所述第二界面,以得到所述截屏图像。
也就是说,在该实现方式中,可以将虚拟显示屏所显示的界面直接存储为截屏图像,提高了截屏效率。
第二方面,本申请实施例提高了一种电子设备,包括:处理器、存储器、收发器、物理显示屏;所述存储器用于存储计算机指令;当所述电子设备运行时,所述处理器执行所述计算机指令,使得所述电子设备执行:通过所述物理显示屏显示第一界面,所述第一界面是长页面的局部;接收针对所述长页面的截屏操作;响应于所述截屏操作,创建能够完整显示所述长页面的虚拟显示屏;在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面;利用所述第二界面,生成包括所述长页面的截屏图像。
在一种可能的实现方式中,所述布局信息包括以下至少一项:
所述长页面上不同布局元素之间的相对大小、所述长页面上的不同布局元素之间的相对位置。
在一种可能的实现方式中,所述处理器执行所述计算机指令,使得所述电子设备还执行:创建第一虚拟显示屏;在所述第一虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第三界面;当所述第三界面为所述长页面的局部时,对所述第一虚拟显示屏的显示参数进行调整,以得到第二虚拟显示屏;在所述第二虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第四界面;当所述长页面在所述第四界面中完整显示时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
在一种可能的实现方式中,所述处理器执行所述计算机指令,使得所述电子设备还执行:当所述长页面在所述第四界面中完整显示,且所述第四界面仅显示所述长页面时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
在一种可能的实现方式中,所述处理器执行所述计算机指令,使得所述电子设备还执行:确定所述第四界面为所述第二界面。
在一种可能的实现方式中,所述布局信息包括以下至少一项:
所述长页面的纵横比、所述长页面的尺寸。
在一种可能的实现方式中,所述处理器执行所述计算机指令,使得所述电子设备还执行:创建具有所述长页面的纵横比或所述长页面的尺寸的虚拟显示屏,以得到能够完整显示所述长页面的虚拟显示屏。
在一种可能的实现方式中,所述处理器执行所述计算机指令,使得所述电子设备还执行:按照预设的图像格式,存储所述第二界面,以得到所述截屏图像。
第三方面,本申请实施例提供了一种长页面截屏装置,包括用于执行第一方面所提供的方法的单元。
第四方面,本申请实施例提供了一种计算机存储介质,包括计算机软件指令,所述计算机软件指令包括用于实现第一方面所提供的方法的程序。
第五方面,本申请实施例提供了一种计算机程序产品,包括用于实现第一方面所提供的方法的程序。
本申请实施例提供的长页面截屏方法及电子设备,通过创建能够在一个时刻完整显示长页面的虚拟屏,并据此重新绘制长页面,实现了通过一次截取,就可以得到长页面的完整截屏图像。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的一种电子设备的软件结构框图;
图3为本申请实施例提供的一种长页面截屏方法的流程图;
图4A为本申请实施例提供的由电子设备的显示屏所显示的一种应用界面示意图;
图4B为本申请实施例提供的一种长页面示意图;
图5为本申请实施例提供的电子设备的显示屏展示截屏图像的示意图;
图6为本申请实施例提供的一种长页面截屏方法的流程图;
图7为本申请实施例提供的一种长页面截屏方法的流程图;
图8为本申请实施例提供的一种长页面截屏方法的流程图;
图9为本申请实施例提供的一种长页面截屏装置示意性框图;
图10为本申请实施例提供的一种电子设备的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
在本说明书的描述中“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
其中,在本说明书的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
对于电子设备而言,其可以通过一个页面来展示某种类型的数据或者内容。例如,可以在一个页面内展示天气信息。再例如,在一个页面内展示短消息列表。再例如,在一个页面展示即时通讯应用的一个对话框中消息。可以理解,在需要在一个页面上展示的数据或内容较多时,受限于电子设备的物理显示屏的尺寸,难以一次性完整显示该页面或者说难以同时显示该页面的所有部分,而需要在显示屏上分次显示(例如,响应于用户起始的滑动手势操作,滚动显示该页面。或者,自动滚动显示该页面)。对于这种类型的页面,即不被电子设备的显示屏在一个时刻完整显示,而需要滚动显示的页面,可以称为长页面。换言之,用户在浏览长页面时,长页面不能够被一屏完整显示,通常会有滚动条支持用户通过滑动手势操作,来控制长页面的滚动显示,或者页面自动滚动,以在不同时刻通过显示屏显示长页面的不同局部。其中,长页面的一个局部是指组成长页面的多个部分中一个部分。其中,该多个部分中的不同部分可以相接但不重叠,也可以部分重叠。
有时,用户需要对其所浏览的长页面进行截屏,得到长页面的截屏图像,以便保存或向他人分享其所浏览的长页面。
在一种方案中,触发长页面在显示屏上滚动显示(在一个时刻,显示屏上显示长页面的一个局部),在滚动期间,分别对显示屏在不同时刻所显示的界面(或者说长页面的局部)进行截屏,得到多个截屏图像。然后,利用图像识别算法,识别该多个截屏图像之间的滚动距离或页面重复高度,并据此对截屏图像进行裁剪,以去掉重复部分,然后进行拼接,以得到一张比较完整的长页面截图。换言之,在该方案中,需要触发页面滚动,多次截取显示屏所显示的内容,得到多个图像,对该多个图像进行拼接,得到较为完整的长页面截图。
该方案主要涉及滚动截屏和图像拼接这两个技术要点。
其中,页面滚动可以分为自动滚动和手动滚动。
对于自动滚动而言,其通过注入模拟触摸事件触发页面滚动,以在滚动期间进行多次截屏。其中,每次滚动的距离不确定,滚动期间的截屏依赖页面的滑动响应参数设置,因此,相邻两次截屏之间重复位置不确定。进而导致拼接难道大,拼接后的图像可能出现内容重叠或内容丢失的情况。并且,不同的页面的滚动速度不一,页面的长度不同,整个截屏过程的时长长短不一,由此使得用户截屏体验不一致,例如,整个截屏过程漫长,需要用户长时间等待,导致用户截屏体验很差。
对于手动滚动而言,其通过在显示屏上显示提示信息以及功能按钮,引导用户通过手动方式触发页面滚动,以在滚动期间进行多次截屏。在整个截屏过程中,需要用户多次干预操作,操作较为繁琐,也导致用户截屏体验不佳。
图像拼接依赖于图像拼接算法。图像拼接算法可能出现识别误差,尤其是不同页面具有类似条目或内容时,容易出现识别误差,进而导致拼接后的图像可能出现内容重叠或内容丢失的情况。
本申请实施例提供了一种截屏方法,可以在不需要滚动显示的情况下,通过一次截屏,得到完整的长页面截屏图像,从而避免了滚动长截屏所导致的截屏图像中内容重叠或内容丢失的情况,并且也缩短了截屏所需的时间,改善了用户的长页面截屏体验。其中,长页面可以为可滚动长页面。即电子设备100可以响应于用户的操作,进行页面滚动,以显示长页面不同的局部。或者电子设备100可以自动滚动,以显示长页面不同的局部。
本申请实施例提供的截屏方法可以应用于电子设备100。电子设备100可以为手机、平板电脑、数码相机、个人数字助理(personal digitalassistant,PDA)、可穿戴设备、膝上型计算机(laptop)等便携式电子设备。便携式电子设备的示例性实施例包括但不限于搭载或者其他操作系统的便携式电子设备。上述便携式电子设备也可以是其他便携式电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本申请其他一些实施例中,电子设备100也可以不是便携式电子设备,而是具有触敏表面(例如触控面板)的台式计算机。本申请实施例对电子设备100的类型不做具体限定。
图1示出了本申请实施例提供的一种电子设备100的结构示意图。
如图1所示。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,和/或USB接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。在一些实施例中,蓝牙可以为蓝牙低功耗(bluetooth low energy,BLE)。
无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
本申请实施例中,无线通信模块160可以支持Wi-Fi NAN。电子设备100可以通过无线通信模块160接收Wi-Fi NAN主设备发送的发现信标帧,从而可以获知Wi-Fi NAN的活动时间窗口到达时间,以便在活动时间窗口达到时醒来,实现和Wi-Fi NAN中其他设备通过Wi-Fi接口进行信息交互。无线通信模块160还可以接收Wi-Fi NAN中其他设备发送的广播消息,并根据广播消息,确定目标设备以及中继设备。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用LCD,OLED,AMOLED,FLED,Miniled,MicroLed,Micro-oLed,QLED等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例结合图2,以分层架构的系统为例,示例性说明电子设备100的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,如图2所示,分层架构可以包括三层,从上至下分别为应用程序(application)层,应用程序框架层(framework),系统库。
如图2所示,应用程序层可以包括截屏应用(screenshot)、应用页面分析(analysisservice)模块、虚拟运行控制(virtualruntimecontrol)模块等。
应用程序框架层可以包括应用管理(application management system,AMS)模块,虚拟运行服务(virtualruntimeservice)模块、显示管理(displaymanager)模块、窗口管理(window management system,WMS)模块、图像控制(surfacecontrol)模块等。
系统库可以包括图像绘制(surfaceflinger)模块、虚拟显示(virtualdisplay)模块等。
示例性的,系统库之下还可以设置内核层(未示出)。内核层可以包括各类驱动程序,例如显示驱动,摄像头驱动,音频驱动,传感器驱动等。
上述各层并不局限于仅包括上述各模块或应用,还可以包括其他模块或应用。例如,应用程序层还可以包括相机、日历、通话、短消息等应用程序。应用框架层还可以包括电话管理器,资源管理器,通知管理器等。系统库还可以包括媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
上述同一层上的不同模块或应用之间,以及不同层的模块或应用之间可以通过预先定义的应用编程接口(application programming interface,API)或函数实现相互调用。
接下来,结合图3,对图2所示模块或应用的功能进行示例说明。
截屏应用可以用于检测或者说接收用户起始的长页面截屏操作。可以理解,截屏操作可分为长页面截屏操作和当前界面的截屏操作。当前界面的截屏操作是仅截取电子设备100的显示屏当前显示的界面。而长页面操作是针对长页面而言,其用于完整地截取显示屏当前显示界面所属的长页面。
接下来,结合图4A和图4B,示例介绍长页面A1以及长页面截图。其中,为方便表述,长页面A1也可以称为页面A1。
图4A所示的界面A11为图4B所示的页面A1的一个局部。受限于电子设备100的显示屏的尺寸,电子设备100一个时刻只能显示页面A1的一个局部,例如界面A11。
在电子设备100的显示屏显示界面A11的情况下,若截屏应用检测到或接收到当前界面的截屏操作,则电子设备100可以截取界面A11,得到界面A11的截图图像。若截屏应用检测到或接收到长页面的截屏操作,则电子设备100可以截取页面A1,得到包含页面A1的截屏图像。
在一些实施例中,对于配置有触摸屏的电子设备100而言,长页面的截屏操作可以为预设的手势操作,例如“S”形手势操作。在一些实施例中,长页面的截屏操作具体可以预设的语音指令,例如“长页面截屏”。
回到图3,在电子设备100的显示屏当前正在显示界面A11或页面A1的其他局部的情况下,若截屏应用在步骤301中,检测或接收到长页面截屏操作。截屏应用可以执行步骤302,向应用管理模块发送页面A1标识的请求。该请求用于请求页面A1的标识。如上所述,页面A1为显示屏当前正在显示界面的所属页面。页面A1标识具体是指显示屏当前正在显示界面的所属页面。为方便方便,在电子设备100的显示屏当前正在显示界面A11或页面A1的其他局部的情况下,将显示屏当前正在显示界面的所属页面称为页面A1。
应用管理模块可以响应页面A1的标识的请求,确定当前显示界面所属的页面,进而确定当前显示界面所属页面的标识,即确定页面A1的标识。在一个例子中,页面A1的标识可以为页面A1所属应用(application,APP)的标识,例如包名(package name)。也就是说,在该例子中,可以页面A1所属应用或者说当前显示界面所属应用的标识可以用作页面A1的标识。在一个例子中,页面A1的标识可以为预设(例如应用的开发者设置的)的用于将页面A1和其他页面区分开的标识信息,例如编号等。
应用管理模块可以执行步骤303,向截屏应用发送页面A1的标识。截屏应用在接收到页面A1的标识时或之后,可以执行步骤304,向应用页面分析模块发送页面分析请求,其中包括页面A1的标识。
应用页面分析模块可以响应页面分析请求,执行305a,向应用管理模块发送布局信息请求,其中可以包括页面A1的标识。应用管理模块在接收到布局信息请求时或之后,可以提取其中的页面A1的标识,并据此获取页面A1的布局信息。页面A1的布局信息可以包括用于形成页面A1或者用于在页面A1上显示的布局元素。可以理解,页面可以由图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、微件(Widget)等可视的界面元素组成。这些可视的界面元素可以称为布局元素,也可以称为控件。
在一个说明性示例中,布局信息具体可以包括布局元素的大小和形状,以及不同布局元素之间的位置关系或者说不同布局元素之间的距离。也就是说,在该示例中,布局信息包括布局元素的绝对大小,以及不同布局元素之间的绝对距离。即在某个布局元素在页面上显示时,大小是固定的,以及不同布局元素之间的距离是固定的。
在一些说明性示例中,页面A1的布局信息具体可以包括页面A1的尺寸。该页面A1的尺寸可以根据页面A1上的布局元素之间的大小,以及不同布局元素之间的位置关系或者说距离确定。其中,页面的尺寸可以是指该页面的纵向长度和横向宽度。
在一个说明性示例中,页面A1的布局信息具体可用包括不同布局元素之间的相对大小,以及不同布局元素之间的相对位置关系或者说相对距离。也就是说,即不同布局元素在页面上显示时,该不同的布局元素之间的大小关系或者说大小比例是固定的,以及该不同布局元素之间的纵向位置关系和横向位置关系之间的比例是固定的,或者说该不同布局元素之间的纵向距离和横向距离之间的比例是固定的。
在一个说明性示例中,页面A1的布局信息具体可以包括页面A1的纵横比。该纵横比可以根据页面A1上的不同布局元素之间的相对大小,以及不同布局元素之间的相对位置关系或者说相对距离确定。
在一个说明性示例中,页面A1的布局信息可以包括页面A1的分辨率,以及包括页面A1的尺寸。
继续参阅图3,应用管理模块可用执行步骤306a,将页面A1的布局信息发送给应用页面分析模块。
应用页面分析模块还可以执行步骤305b,向窗口管理模块发送显示窗口信息的请求,其中可以包括页面A1的标识。窗口管理模块在接收到显示窗口信息的请求时或之后,可以提取其中的页面A1的标识,并据此获取页面A1的显示窗口的信息。页面A1的显示窗口是指用于显示页面A1的显示窗口或者说显示区域。
可以理解,电子设备100的显示屏上可以包括一个或多个显示窗口。显示窗口也可以理解为显示区域。不同的显示窗口或显示区域用于显示相应的页面或者说相应页面的局部(在某个窗口不够完整显示其对应页面的情况下,显示该窗口的局部。即该页面为长页面)。为方便表述,可以将当前电子设备100为页面A1分配的显示区域或者说显示窗口称为显示窗口B1。示例性的,显示窗口B1可以是电子设备100的显示屏所显示的多个显示窗口中的一个。示例性的,显示窗口B1的尺寸可以等于或略小于电子设备100的物理显示屏的尺寸。其中,显示屏窗口B1的尺寸略小于电子设备100的物理显示屏的尺寸是指,电子设备100的物理显示屏还显示系统级别的界面元素,例如可以在物理显示屏的顶部显示有状态栏和/或在显示区域的底部显示虚拟按键。状态栏可以包括运营商名称(例如)、表示信号强度的信号格、剩余电量等。虚拟按键可以包括虚拟返回按键、虚拟home按键等。
显示窗口信息可以为显示窗口的显示参数。在一些实施例中,显示窗口的显示参数可以包括显示窗口的尺寸或者说大小。在一个例子中,显示窗口的显示参数具体可以是指显示窗口的纵横比。在一个例子中,显示窗口的显示参数具体可以是指显示窗口的纵向长度和横向宽度。在一些实施例中,显示窗口的显示参数可以包括显示窗口的分辨率。
继续参阅图3,窗口管理模块可以执行步骤306b,将页面A1的显示窗口信息发送给应用页面分析模块。
应用页面分析模块在获取了页面A1的布局信息和页面A1的显示窗口信息时后之后,可以执行步骤307,确定页面A1是否为长页面。具体而言,可以根据页面A1的布局信息和页面A1的显示窗口信息,确定页面A1的显示窗口是否可以在一个时刻完整显示页面A1。若页面A1的显示窗口不能在一个时刻完整显示页面A1,而是仅可以显示页面A1的一个局部,则可以确定页面A1为长页面。否则,则可以确定页面A1不是长页面。
在一个说明性示例中,页面A1的布局信息可以包括页面A1布局元素的绝对大小,以及不同布局元素之间的绝对距离。或者,页面A1的布局信息可以包括页面A1的尺寸。页面A1的显示窗口信息可以包括显示窗口B1的纵向长度和横向宽度。由此,可以在纵向和/或横向上,比较页面A1的布局信息和显示窗口B1,由此,可以确定页面A1是否为长页面。
在一个说明性示例中,页面A1的布局信息可以包括页面A1上不同布局元素之间的相对大小,以及不同布局元素之间的相对位置关系或者说相对距离。或者,页面A1的布局信息可以包括页面A1的纵横比。页面A1的显示窗口信息可以包括显示窗口B1的纵横比。由此,可以在纵向和/或横向上,比较页面A1的布局信息和显示窗口B1,由此,可以确定页面A1是否为长页面。
在一个说明性示例中,页面A1的布局信息可以包括页面A1的分辨率,以及包括页面A1的尺寸。页面A1的显示窗口信息可以包括显示窗口B1的分辨率和尺寸。由此,可以确定显示窗口B1在是否可以完整显示具有布局信息所包括的分布率的页面A1,进而确定页面A是否为长页面。
在确定了页面A1是长页面时或之后,应用页面分析模块可以执行步骤308,向截屏应用发送长页面指示信息,以使截屏应用可以获知页面A1为长页面。示例性的,长页面指示信息可以包括页面A1的标识,以表示该长页面指示信息用于指示页面A1为长页面。
截屏应用在获知了页面A1为长页面时或之后,可以执行步骤309,向虚拟运行控制模块发送页面重绘请求,以指示虚拟运行控制模块重新绘制页面A1。示例性的,页面重绘请求可以包括页面A1的标识,以便虚拟运行控制模块可以获知需要重新绘制的页面为页面A1。
虚拟运行控制模块可以执行步骤310,向虚拟运行服务模块发送虚拟显示屏创建请求,以指示虚拟运行服务模块创建虚拟显示屏。虚拟显示屏是一种并非实体存在的显示屏,而是通过模拟物理显示屏的功能,创建的具有设定显示参数的虚拟屏幕(virtualdisplay)。示例性的,显示屏或者说虚拟显示屏的显示参数可以包括该显示屏或该虚拟显示屏的纵横比等。示例性的,显示屏或者说虚拟显示屏的显示参数可以包括该显示屏或该虚拟显示屏的纵向长度、横向宽度等。
虚拟运行服务模块可以响应于虚拟显示屏创建请求,创建一个虚拟显示屏。虚拟运行服务模块可以执行步骤311,将创建的虚拟显示屏的显示参数发送给虚拟运行控制模块。
虚拟运行控制模块可以执行步骤312,执行页面重绘。具体而言,可以在通过步骤311接收到的虚拟显示屏的显示参数的约束下,根据页面A1的布局信息,重新绘制页面A1。
示例性的,虚拟运行控制模块可以从应用管理模块或应用页面分析模块获取页面A1的布局信息。在一个例子中,在步骤309中发送的页面重绘请求可以包括页面A1的标识。由此,虚拟运行控制模块可以获知页面A1的标识,以及获知该页面重绘请求用于请求重新绘制页面A1。进而虚拟运行控制模块可以基于页面A1的标识从应用管理模块或应用页面分析模块获取页面A1的布局信息。
虚拟运行控制模块可以在虚拟显示屏的显示参数的约束下,根据页面A1的布局信息,重新绘制页面A1。可以参考现有技术中,在电子设备的显示屏的约束下,应用根据应用的页面布局信息,绘制该页面的过程。但为了便于理解,本文对该过程进行简单介绍。
虚拟运行控制模块可以根据虚拟显示屏的显示参数,确定虚拟显示屏在同一时刻是否可以完整显示页面A1。若虚拟显示屏的显示参数可以支持在同一时刻可以完整显示页面A1。则虚拟运行控制模块可以对整个页面A1进行绘制及渲染,以得到新的界面。该新的界面包括这个页面A1。换言之,该新的界面包括了页面A1上的界面元素。
若虚拟显示屏的显示参数可以不支持在同一时刻可以完整显示页面A1。即虚拟显示屏还不能够在同一时刻完整显示页面A1。则虚拟运行控制模块绘制及渲染页面A1的一个局部。该局部的显示可以得到虚拟显示屏的显示参数的支持。即虚拟显示屏的显示参数在一个时刻仅够支持显示该局部。
举例而言,可以设定虚拟显示屏的显示参数所包括的虚拟显示屏的纵横比为3:1,而页面A1的布局信息所包括的页面A1的纵横比为9:1。则可以确定虚拟显示屏在同一时刻仅能显示页面A1大小的三分之一。由此,虚拟运行控制模块可以先绘制渲染页面A1大小的三分之一。即绘制渲染出的界面为页面A1的三分之一或者说绘制渲染的界面显示了页面A1的三方之一。
再举例而言,可以设定虚拟显示屏的显示参数所包括的虚拟显示屏的纵向长度为3英寸,横向宽度为1英寸。而页面A1的布局信息所包括的页面A1的纵向长度为9英寸,横向宽度为1英寸。则可以确定虚拟显示屏在同一时刻仅能显示页面A1大小的三分之一。由此,虚拟运行控制模块可以先绘制渲染页面A1大小的三分之一。即绘制渲染出的界面为页面A1的三分之一或者说绘制渲染的界面显示了页面A1的三方之一。
在显示屏显示参数的约束下,根据页面的布局信息,对页面的绘制渲染的具体过程,可以参考现有技术的介绍,在此不再赘述。
在一些实施例中,继续参阅图3,若步骤312中的页面重绘所得到的界面仍是页面A1的局部,即步骤311发送的显示参数不支持同一时刻完整显示页面A1,则虚拟运行控制模块可以执行步骤313,向虚拟运行服务模块发送显示参数调整请求。虚拟运行服务模块可以响应于显示参数调整请求,调整虚拟显示屏的显示参数,并通过步骤315,将调整后的虚拟参数发送给虚拟运行控制模块。之后,虚拟运行控制模块可以基于调整后的显示参数,再次绘制页面A1,并判断绘制渲染出的页面或者说界面是否为页面A1的局部。当绘制渲染出的界面仍为页面A1的局部(即绘制渲染出的界面没有完整显示页面A1)时,可以重复步骤313-步骤316,直到调整后的显示参数支持在同一时刻完整显示页A1。例如,可以执行步骤317中,确定页面A1在虚拟显示屏中完整显示。
其中,上文中步骤312以及步骤316中绘制渲染出的页面也可以称为界面。
在一些实施例中,页面A1的布局信息包括页面A1的纵横比。步骤310中发送的虚拟显示屏创建请求可包括页面A1的纵横比。虚拟运行服务模块在创建虚拟显示屏时,可以根据页面A1的纵横比设置虚拟显示屏的显示参数,由此,使得创建的虚拟显示屏可以在同一个时刻完整显示页面A1。举例而言,可以设定页面A1的布局信息所包括的纵横比为9:1,则虚拟运行服务模块创建的虚拟显示屏的纵横比也为9:1。由此,页面A1可以在虚拟显示屏上完整显示。在该实施例中,在步骤312中,重新绘制渲染得到的界面可以完整显示页面A1。从而无需在执行后续的步骤313-316。
在一些实施例中,页面A1的布局信息包括页面A1的尺寸。步骤310中发送的虚拟显示屏创建请求可包括页面A1的尺寸。虚拟运行服务模块在创建虚拟显示屏时,可以根据页面A1的尺寸设置虚拟显示屏的显示参数,由此,使得创建的虚拟显示屏可以在同一个时刻完整显示页面A1。举例而言,可以设定页面A1的纵向长度为9英寸,横向宽度为1英寸。则虚拟运行服务模块创建的虚拟显示屏的纵向长度≥9英寸,横向宽度≥1英寸。由此,页面A1可以在虚拟显示屏上完整显示。在该实施例中,在步骤312中,重新绘制渲染得到的界面可以完整显示页面A1。从而无需在执行后续的步骤313-316。
在一些实施例中,虚拟运行控制模块可以执行步骤317,确定页面A1在虚拟显示屏中完整显示。然后,可以将步骤312或步骤316中绘制渲染的完整显示了页面A1的界面按照预设的图像格式(例如bitmap或JPEG等)进行存储,得到页面A1的截屏图像。其中,截屏图像的具体图像格式可以参考现有技术介绍,在此不再赘述。
在一些实施例中,虚拟运行控制模块可以执行步骤317,确定页面A1在虚拟显示屏中完整显示。然后,可以执行步骤318,向图形控制模块发送完整截屏请求。该完整截屏请求用于截取虚拟显示屏所显示的界面。图形控制模块可以执行步骤319,向图形绘制模块发送图形合成请求,以请求图形绘制模块基于步骤312或步骤316中绘制渲染的完整显示了页面A1的界面,合成截屏图形。例如,可以将该界面和状态栏等合并,以得到或者模拟出在真实显示屏上显示的界面。并根据合并得到的界面进行截屏,得到截屏图像。其中,截屏的具体过程可以参考现有技术的介绍,在此不再赘述。
图形绘制模块可以执行步骤320,向截屏应用发送截屏图像,以便向用户展示或者编辑截屏图像。
在一些实施例中,以截取图4B所示长页面为例,截屏应用在接收到截屏图像时或之后,可以显示图5所示的界面。由此,用户可以对截屏图像进行分享或收藏或编辑等操作。
上文结合图2所示的软件架构,对本申请实施例所提供的长页面截屏方法进行了示例说明。但并不限于图2所示的软件架构。电子设备100在其他软件架构下,也可以实现图3所示的长页面截屏方法。可以理解,图2所示软件架构中各模块的功能是电子设备100的处理运行计算机指令所实现的。在其他软件架构下,对相关计算机指令的适应性修改,可实现图3所示的方法实施例。或者根据图3所示实施例,编制计算机指令。由此,本说明书不再对其他软件架构下的截屏方法的具体实现过程一一进行赘述。
本申请实施例提供的长页面截屏方法,通过创建能够在一个时刻完整显示长页面的虚拟屏,并据此重新绘制长页面,实现了通过一次截取,就可以得到长页面的完整截屏图像。由此避免了滚动截屏中图像拼接重叠、错乱等问题,改善了用户长截屏体验。
参阅图6,本申请实施例提供了一种长页面截屏方法。该方法可以由电子设备100执行。如图6所示,该方法包括如下步骤。
截屏应用模块可以启动截屏。
执行模块进行应用页面分析。可以判断页面是否超过一屏。若页面没有超过一屏,图形绘制模块可以进行单页截取,从而完成截屏。
若页面超过一屏,虚拟运行模块可以创建虚拟运行环境,然后在虚拟运行环境中加载应用页面。虚拟运行模块可以从执行模块接收状态数据。虚拟运行模块还可以基于从执行模块接收的状态数据以及虚拟运行环境加载的页面,判断页面是否在虚拟运行环境中超过一屏。若没有超过一屏,则可以进行应用页面重新绘制。
然后,图形绘制模块可以对虚拟屏显示的界面进行单页截取,从而完成截屏。
本申请实施例提供的截屏方法,可以获取可滚动长页面的完整截图,而不会出现滚动效果不一、图片拼接重叠或错乱等问题,提升用户体验。也就是说,通过本申请实施例提供的方案,在对可滚动长页面进行截屏时,不必依赖于页面滚动和拼接,而直接使用显示合成技术,页面信息抓取完整,同时避免了滚动响应不一和拼接错乱等问题。
本申请实施例提供了一种如图7所示的长页面截屏方法。该方法可以由电子设备100执行。在该方法中,可以通过创建虚拟应用加载环境,将应用页面加载到虚拟运行环境中,在虚拟运行环境启动加载应用的显示页面,并根据应用页面的显示内容测量结果调整高度,使应用的页面能完整的在运行的环境中完整布局显示。根据虚拟运行环境的显示内容,进行合成重绘得到应用的完整截图。
该方法可以包括如下步骤。
1.用户触发可滚动长页面的截屏;
2.获取应用的页面信息;
3.启动页面分析服务,发起页面分析请求,向AMS和WMS请求获取页面的布局显示和状态信息;
4.向虚拟运行控制模块发起页面加载请求,通过虚拟运行服务创建应用页面虚拟运行环境,加载页面及页面的显示状态和参数;
5.根据页面的测量和绘制情况,适当调整页面显示的尺寸,以较合适的大小重绘;
6.发起完整截屏请求,通过图形绘制模块合成虚拟屏截屏图片;
本申请实施例提供的截屏方法,可以获取可滚动长页面的完整截图,而不会出现滚动效果不一、图片拼接重叠或错乱等问题,提升用户体验。也就是说,通过本申请实施例提供的方案,在对可滚动长页面进行截屏时,不必依赖于页面滚动和拼接,而直接使用显示合成技术,页面信息抓取完整,同时避免了滚动响应不一和拼接错乱等问题。
综合以上内容,本申请实施例提供了一种长页面截屏方法,该方法可以应用于配置有物理显示屏的电子设备100。参阅图8,该方法可以包括如下步骤。
步骤801,通过所述物理显示屏显示第一界面,所述第一界面是长页面的局部;
步骤802,接收针对所述长页面的截屏操作;
步骤803,响应于所述截屏操作,创建能够完整显示所述长页面的虚拟显示屏;
步骤804,在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面;
步骤805,利用所述第二界面,生成包括所述长页面的截屏图像。
在一些实施例中,所述布局信息包括以下至少一项:
所述长页面上不同布局元素之间的相对大小、所述长页面上的不同布局元素之间的相对位置。
在这些实施例的一个示例中,所述创建能够完整显示所述长页面的虚拟显示屏包括:创建第一虚拟显示屏;在所述第一虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第三界面;当所述第三界面为所述长页面的局部时,对所述第一虚拟显示屏的显示参数进行调整,以得到第二虚拟显示屏;在所述第二虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第四界面;当所述长页面在所述第四界面中完整显示时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
在该示例的一个例子中,当所述长页面在所述第四界面中完整显示时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏,包括:当所述长页面在所述第四界面中完整显示,且所述第四界面仅显示所述长页面时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
在这些实施例的另一个示例中,所述在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面,包括:确定所述第四界面为所述第二界面。
在一些实施例中,所述布局信息包括以下至少一项:
所述长页面的纵横比、所述长页面的尺寸。
在这些实施例的一个示例中,所述创建能够完整显示所述长页面的虚拟显示屏包括:
创建具有所述长页面的纵横比或所述长页面的尺寸的虚拟显示屏,以得到能够完整显示所述长页面的虚拟显示屏。
在一些实施例中,所述利用所述第二界面,生成包括所述长页面的截屏图像包括:按照预设的图像格式,存储所述第二界面,以得到所述截屏图像。
本申请实施例提供的长页面截屏方法,通过创建能够在一个时刻完整显示长页面的虚拟屏,并据此重新绘制长页面,实现了通过一次截取,就可以得到长页面的完整截屏图像。
参阅图9,本申请实施例提供了一种长页面截屏装置。该装置可以配置于具有物理显示屏的电子设备,例如电子设备100。如图9所示,该装置包括:
显示单元910,用于通过所述物理显示屏显示第一界面,所述第一界面是长页面的局部;
接收单元920,用于接收针对所述长页面的截屏操作;
创建单元930,用于响应于所述截屏操作,创建能够完整显示所述长页面的虚拟显示屏;
绘制单元940,用于在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面;
生成单元950,用于利用所述第二界面,生成包括所述长页面的截屏图像。
本申请实施例提供的长页面截屏装置的各功能单元的功能可以参考上文对图8所示的各实施例实现,在此不再赘述。
本申请实施例提供的长页面截屏装置,通过创建能够在一个时刻完整显示长页面的虚拟屏,并据此重新绘制长页面,实现了通过一次截取,就可以得到长页面的完整截屏图像。
参阅图10,本申请实施例提供了一种电子设备1000。电子设备1000可以包括处理器1010、存储器1020、收发器1030、物理显示屏1040;所述存储器1020用于存储计算机指令。当存储器1020存储的计算机程序被处理器1010执行时,电子设备1000执行上述各方法实施例中电子设备100执行的操作,例如图3所示或图6所示或图7所示或图8所示实施例中的电子设备100执行的操作。具体而言,处理器1010可以进行数据处理操作。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
Claims (16)
1.一种长页面截屏方法,其特征在于,应用于配置有物理显示屏的电子设备,所述方法包括:
通过所述物理显示屏显示第一界面,所述第一界面是长页面的局部;
接收针对所述长页面的截屏操作;
响应于所述截屏操作,创建能够完整显示所述长页面的虚拟显示屏;
在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面;
利用所述第二界面,生成包括所述长页面的截屏图像;其中,
所述创建能够完整显示所述长页面的虚拟显示屏包括:
创建第一虚拟显示屏;
在所述第一虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第三界面;
当所述第三界面为所述长页面的局部时,对所述第一虚拟显示屏的显示参数进行调整,以得到第二虚拟显示屏;
在所述第二虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第四界面;
当所述长页面在所述第四界面中完整显示时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
2.根据权利要求1所述的方法,其特征在于,所述布局信息包括以下至少一项:
所述长页面上不同布局元素之间的相对大小、所述长页面上的不同布局元素之间的相对位置。
3.根据权利要求1所述的方法,其特征在于,当所述长页面在所述第四界面中完整显示时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏,包括:
当所述长页面在所述第四界面中完整显示,且所述第四界面仅显示所述长页面时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
4.根据权利要求1或3所述的方法,其特征在于,所述在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面,包括:
确定所述第四界面为所述第二界面。
5.根据权利要求1所述的方法,其特征在于,所述布局信息包括以下至少一项:
所述长页面的纵横比、所述长页面的尺寸。
6.根据权利要求5所述的方法,其特征在于,所述创建能够完整显示所述长页面的虚拟显示屏包括:
创建具有所述长页面的纵横比或所述长页面的尺寸的虚拟显示屏,以得到能够完整显示所述长页面的虚拟显示屏。
7.根据权利要求1所述的方法,其特征在于,所述利用所述第二界面,生成包括所述长页面的截屏图像包括:
按照预设的图像格式,存储所述第二界面,以得到所述截屏图像。
8.一种电子设备,其特征在于,包括:处理器、存储器、收发器、物理显示屏;
所述存储器用于存储计算机指令;
当所述电子设备运行时,所述处理器执行所述计算机指令,使得所述电子设备执行:
通过所述物理显示屏显示第一界面,所述第一界面是长页面的局部;
接收针对所述长页面的截屏操作;
响应于所述截屏操作,创建能够完整显示所述长页面的虚拟显示屏;
在所述虚拟显示屏的显示参数的约束下,根据所述长页面的布局信息绘制渲染第二界面;
利用所述第二界面,生成包括所述长页面的截屏图像;其中,
所述处理器执行所述计算机指令,使得所述电子设备还执行:
创建第一虚拟显示屏;
在所述第一虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第三界面;
当所述第三界面为所述长页面的局部时,对所述第一虚拟显示屏的显示参数进行调整,以得到第二虚拟显示屏;
在所述第二虚拟显示屏的显示参数的约束下,根据所述布局信息绘制渲染第四界面;
当所述长页面在所述第四界面中完整显示时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
9.根据权利要求8所述的电子设备,其特征在于,所述布局信息包括以下至少一项:
所述长页面上不同布局元素之间的相对大小、所述长页面上的不同布局元素之间的相对位置。
10.根据权利要求8所述的电子设备,其特征在于,所述处理器执行所述计算机指令,使得所述电子设备还执行:
当所述长页面在所述第四界面中完整显示,且所述第四界面仅显示所述长页面时,确定所述第二虚拟显示屏为所述能够完整显示所述长页面的虚拟显示屏。
11.根据权利要求8或10所述的电子设备,其特征在于,所述处理器执行所述计算机指令,使得所述电子设备还执行:
确定所述第四界面为所述第二界面。
12.根据权利要求8所述的电子设备,其特征在于,所述布局信息包括以下至少一项:
所述长页面的纵横比、所述长页面的尺寸。
13.根据权利要求12所述的电子设备,其特征在于,所述处理器执行所述计算机指令,使得所述电子设备还执行:
创建具有所述长页面的纵横比或所述长页面的尺寸的虚拟显示屏,以得到能够完整显示所述长页面的虚拟显示屏。
14.根据权利要求8所述的电子设备,其特征在于,所述处理器执行所述计算机指令,使得所述电子设备还执行:
按照预设的图像格式,存储所述第二界面,以得到所述截屏图像。
15.一种长页面截屏装置,其特征在于,包括用于执行权利要求1-7任一项所述的方法的单元。
16.一种计算机存储介质,其特征在于,包括计算机软件指令,所述计算机软件指令包括用于实现权利要求1-7任一项所述方法的程序。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110189021.2A CN114968423B (zh) | 2021-02-19 | 2021-02-19 | 一种长页面截屏方法及电子设备 |
PCT/CN2021/136526 WO2022174655A1 (zh) | 2021-02-19 | 2021-12-08 | 一种长页面截屏方法及电子设备 |
EP21926369.6A EP4276615A4 (en) | 2021-02-19 | 2021-12-08 | LONG PAGE SCREEN CAPTURE METHOD AND ELECTRONIC DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110189021.2A CN114968423B (zh) | 2021-02-19 | 2021-02-19 | 一种长页面截屏方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114968423A CN114968423A (zh) | 2022-08-30 |
CN114968423B true CN114968423B (zh) | 2024-05-14 |
Family
ID=82930267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110189021.2A Active CN114968423B (zh) | 2021-02-19 | 2021-02-19 | 一种长页面截屏方法及电子设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4276615A4 (zh) |
CN (1) | CN114968423B (zh) |
WO (1) | WO2022174655A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413366A (zh) * | 2019-07-30 | 2019-11-05 | 深圳市乘法信息技术有限公司 | 一种基于区块链的截屏方法、装置、设备及存储介质 |
CN110704784A (zh) * | 2019-10-10 | 2020-01-17 | 深圳前海微众银行股份有限公司 | web页面截屏方法、装置、设备及计算机可读存储介质 |
CN111382386A (zh) * | 2020-03-03 | 2020-07-07 | 上海掌门科技有限公司 | 一种用于生成网页截图的方法与设备 |
CN111399732A (zh) * | 2020-03-13 | 2020-07-10 | 深圳市珍爱云信息技术有限公司 | 网页截图方法、装置、计算机设备和存储介质 |
CN112068919A (zh) * | 2020-09-17 | 2020-12-11 | 北京五八信息技术有限公司 | 一种网页截屏处理方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10671357B2 (en) * | 2017-06-05 | 2020-06-02 | Apptimize Llc | Preview changes to mobile applications at different display resolutions |
KR102716974B1 (ko) * | 2018-12-19 | 2024-10-15 | 삼성전자 주식회사 | 증강 장치를 제어하는 방법 및 이를 수행하는 전자 장치 |
-
2021
- 2021-02-19 CN CN202110189021.2A patent/CN114968423B/zh active Active
- 2021-12-08 WO PCT/CN2021/136526 patent/WO2022174655A1/zh unknown
- 2021-12-08 EP EP21926369.6A patent/EP4276615A4/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413366A (zh) * | 2019-07-30 | 2019-11-05 | 深圳市乘法信息技术有限公司 | 一种基于区块链的截屏方法、装置、设备及存储介质 |
CN110704784A (zh) * | 2019-10-10 | 2020-01-17 | 深圳前海微众银行股份有限公司 | web页面截屏方法、装置、设备及计算机可读存储介质 |
CN111382386A (zh) * | 2020-03-03 | 2020-07-07 | 上海掌门科技有限公司 | 一种用于生成网页截图的方法与设备 |
CN111399732A (zh) * | 2020-03-13 | 2020-07-10 | 深圳市珍爱云信息技术有限公司 | 网页截图方法、装置、计算机设备和存储介质 |
CN112068919A (zh) * | 2020-09-17 | 2020-12-11 | 北京五八信息技术有限公司 | 一种网页截屏处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4276615A1 (en) | 2023-11-15 |
EP4276615A4 (en) | 2024-07-24 |
CN114968423A (zh) | 2022-08-30 |
WO2022174655A1 (zh) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861161B2 (en) | Display method and apparatus | |
CN110462572B (zh) | 电子装置及其控制方法 | |
US10073668B2 (en) | Method for measuring angles between displays and electronic device using the same | |
CN106060378B (zh) | 用于设置拍摄模块的装置和方法 | |
WO2021115194A1 (zh) | 一种应用图标的显示方法及电子设备 | |
CN109862267B (zh) | 一种拍摄方法及终端设备 | |
US11989383B2 (en) | Application window display method and terminal | |
CN108463799B (zh) | 电子设备的柔性显示器及其操作方法 | |
CN111147660B (zh) | 一种控件的操作方法及电子设备 | |
CN109857297B (zh) | 信息处理方法及终端设备 | |
WO2022057512A1 (zh) | 分屏方法、装置及电子设备 | |
US20160313781A1 (en) | Method for displaying user interface and electronic device thereof | |
CN110908554B (zh) | 长截图的方法及终端设备 | |
WO2021057699A1 (zh) | 具有柔性屏幕的电子设备的控制方法及电子设备 | |
WO2022161119A1 (zh) | 一种显示方法及电子设备 | |
US10250818B2 (en) | Electronic device including a plurality of cameras and operating method thereof | |
CN110045958B (zh) | 纹理数据生成方法、装置、存储介质及设备 | |
CN114816200A (zh) | 一种显示方法及电子设备 | |
CN113391743A (zh) | 一种显示方法及电子设备 | |
CN109922256B (zh) | 拍摄方法及终端设备 | |
CN111275607A (zh) | 界面显示方法、装置、计算机设备及存储介质 | |
KR102266869B1 (ko) | 전자 장치 및 전자 장치의 디스플레이 방법 | |
CN114968423B (zh) | 一种长页面截屏方法及电子设备 | |
CN113301422B (zh) | 获取视频封面的方法、终端及存储介质 | |
CN112860365B (zh) | 内容显示方法、装置、电子设备和可读存储介质 |
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 |