CN107450915B - 一种快速截取多屏幕长图的方法 - Google Patents
一种快速截取多屏幕长图的方法 Download PDFInfo
- Publication number
- CN107450915B CN107450915B CN201710587330.9A CN201710587330A CN107450915B CN 107450915 B CN107450915 B CN 107450915B CN 201710587330 A CN201710587330 A CN 201710587330A CN 107450915 B CN107450915 B CN 107450915B
- Authority
- CN
- China
- Prior art keywords
- view
- sub
- width
- screen
- long image
- 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 30
- 238000005259 measurement Methods 0.000 claims description 6
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
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/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/0482—Interaction with lists of selectable items, e.g. menus
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种快速截取多屏幕长图的方法,包括:步骤一、获取当前列表类视图的宽度,并存储在gWidth变量中;步骤二、获取所有的子视图数量,对每个子视图开始处理;步骤三、获取子视图的属性规格;步骤四、子视图的尺寸规格确定好以后,获得作为视图对象的子视图的大小;步骤五、通过上述方式,确定需要截取多屏幕长图的宽度gWidth和高度totalheight,创建一块位图对象,并创建与此位图对象对应的画布对象;并将子视图缓存像素帧依次绘制到画布中,生成截屏图像,输出结果。本发明可以一次性计算出完整长图的大小,并截取多屏幕长图,方便用户,处理快捷。
Description
技术领域
本发明涉及屏幕截图的方法,具体涉及一种移动终端快速截取多屏幕长图的方法,属于图像处理技术领域。
背景技术
移动终端的便携性的特点,限制了移动终端屏幕的大小,导致用户经常会遇到需要显示的内容无法完整的在一屏内完全展现。使用传统的截图方式是用户只能截取当前屏幕的内容,如果需要截取的内容大小超出当前屏幕区域,则需要重新调整显示内容坐标(使用但不限于翻页,滚动等方式),然后再次截取一个屏幕大小的图像,如此反复。这样会产生许多零散的屏幕截图,非常不方便保存、再次编辑以及分享。
发明内容
本发明的目的是要解决目前屏幕截图中,截取一副图像大小不能超过当屏幕的大小,截图操作繁琐,效率较低,后期编辑及分享不便的问题。提供了一种在android系统中基于列表类快速截取多屏幕长图的方法。
本发明是这样实现的:
一种快速截取多屏幕长图的方法,包括以下步骤:
步骤一、获取当前列表类视图的宽度,并将它存储在gWidth变量中;
步骤二、获取所有的子视图数量,对每个子视图开始处理;
步骤三、获取子视图的属性规格,通过调用measureChildWithMargins方法,该方法处理的逻辑:计算子视图的measureSpec,即视图位置和视图大小,调用方法为:getChildMeasureSpec方法,调用两次,分别计算视图位置和视图大小;getChildMeasureSpec 方法内部根据父视图的measureSpec属性和子视图的宽度和高度属性,计算子视图的属性规格;
步骤四、子视图的尺寸规格确定好以后,如果子视图是视图对象,则该视图的大小测量结束,并将计算出子视图高度值累加到变量totalheight中;如果子视图是ViewGroup,那么,又开始一个新的递归,处理逻辑和前面一样,直到所有的视图对象测量结束;
步骤五、通过上述方式,确定需要截取多屏幕长图的宽度gWidth和高度totalheight, 创建一块位图对象,并创建与此位图对象对应的画布对象;并将子视图缓存像素帧依次绘制到画布中,生成截屏图像,输出结果。
更进一步的方案是:
步骤一中,列表类视图为根列表类视图时,根列表类视图的宽度与屏幕宽度相等,通过获取屏幕宽度,确定gWidth的值。
更进一步的方案是:
步骤二中,当子视图属性是不可见属性,则跳过此视图,处理下一个视图。
更进一步的方案是:
步骤五中,所述位图大小为:gWidth*totalheight大小。
本发明的有益效果是,本发明提供的速截取多屏幕长图的方案,相比普通的截屏方案,本发明可以一次性计算出完整长图的大小,并截取多屏幕长图。不需要用户不断滚动屏幕,获取需要显示的内容后,才能实现截图,方便用户,处理快捷。
附图说明
图1是一种移动终端屏幕截图方法的实施流程图
具体实施方式
下面结合附图及实施例对本发明的技术方案作进一步描述,需要说明的是,实施例仅仅是为了方便读者更好地理解本发明的技术方案,并不用以限制本发明权利要求的保护范围。
如附图1所示,一种快速截取多屏幕长图的方法,包括:
步骤S11:获取当前列表类视图的宽度,并将它存储在gWidth变量中。通常根列表类的宽度和屏幕宽度相等,也可以通过获取屏幕宽度,确定gWidth的值。
步骤S12:获取所有的子视图数量,对每个子视图开始处理,如果子视图属性是不可见 (GONE)属性,则跳过此视图,处理下一个视图。
进一步的步骤S13:获取子视图的属性规格。
通过调用measureChildWithMargins方法,该方法处理的逻辑:计算子视图的measureSpec,即视图位置和视图大小。调用方法为:getChildMeasureSpec,调用两次,分别计算视图位置和视图大小,getChildMeasureSpec内部根据父视图的measureSpec属性和子视图的layout_width和layout_height属性,计算子视图的属性规格。
步骤S14:子视图的尺寸规格确定好以后,如果子视图是视图对象,则该视图的大小测量结束,并将计算出子视图高度值累加到变量totalheight中,进一步如果子视图是ViewGroup那么,又开始一个新的递归,处理逻辑和上面一样,直到所有的视图对象测量结束。
步骤S15:通过上述方式,确定需要截取多屏幕长图的宽度(gWidth)和高度(totalheight), 创建gWidth*totalheight大小的位图,进一步通过此位图,创建与之相关联的画布对象。进一步根据步骤S13中所计算出视图的属性规格,在所创建画布对象中,依次绘制子视图,进一步最后将绘制完的位图对象保存,用户可以选择查看生成的截屏图像以确认截屏效果。
本发明有效解决了多屏幕长图不能一次性截取的缺陷,提供了可以一次截取多屏幕长图的方案,本发明的方法操作简单,效率高,便于后期编辑及分享。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (4)
1.一种快速截取多屏幕长图的方法,其特征在于包括以下步骤:
步骤一、获取当前列表类视图的宽度,并将它存储在gWidth变量中;
步骤二、获取所有的子视图数量,对每个子视图开始处理;
步骤三、获取子视图的属性规格,通过调用measureChildWithMargins方法,所述measureChildWithMargins方法处理的逻辑:计算子视图的measureSpec,即视图位置和视图大小,调用方法为:getChildMeasureSpec方法,调用两次,分别计算视图位置和视图大小;getChildMeasureSpec方法内部根据父视图的measureSpec属性和子视图的宽度和高度属性,计算子视图的属性规格;
步骤四、子视图的尺寸规格确定好以后,如果子视图是视图对象,则该视图的大小测量结束,并将计算出子视图高度值累加到变量totalheight中;如果子视图是ViewGroup,那么,又开始一个新的递归,处理逻辑和前面一样,直到所有的视图对象测量结束;
步骤五、通过上述方式,确定需要截取多屏幕长图的宽度gWidth和高度totalheight,创建一块位图对象,并创建与此位图对象对应的画布对象;并将子视图缓存像素帧依次绘制到画布中,生成截屏图像,输出结果。
2.根据权利要求1所述快速截取多屏幕长图的方法,其特征在于:
步骤一中,列表类视图为根列表类视图时,根列表类视图的宽度与屏幕宽度相等,通过获取屏幕宽度,确定gWidth的值。
3.根据权利要求1所述快速截取多屏幕长图的方法,其特征在于:
步骤二中,当子视图属性是不可见属性,则跳过此视图,处理下一个视图。
4.根据权利要求1所述快速截取多屏幕长图的方法,其特征在于:
步骤五中,所述位图大小为:gWidth*totalheight大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710587330.9A CN107450915B (zh) | 2017-07-18 | 2017-07-18 | 一种快速截取多屏幕长图的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710587330.9A CN107450915B (zh) | 2017-07-18 | 2017-07-18 | 一种快速截取多屏幕长图的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107450915A CN107450915A (zh) | 2017-12-08 |
CN107450915B true CN107450915B (zh) | 2020-06-30 |
Family
ID=60487360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710587330.9A Active CN107450915B (zh) | 2017-07-18 | 2017-07-18 | 一种快速截取多屏幕长图的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107450915B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009267A (zh) * | 2017-12-15 | 2018-05-08 | 北京奇虎科技有限公司 | 一种用于自动获取屏幕显示数据的方法及系统 |
CN108563382A (zh) * | 2018-02-26 | 2018-09-21 | 挖财网络技术有限公司 | 基于安卓系统的截屏方法及装置 |
CN108664309B (zh) * | 2018-05-16 | 2021-04-06 | 成都天翼空间科技有限公司 | 一种基于Android终端的长数据展示方法及系统 |
CN108989704B (zh) * | 2018-07-27 | 2021-03-12 | 创新先进技术有限公司 | 图像生成方法和装置、终端设备 |
CN113535293B (zh) * | 2021-06-01 | 2023-10-03 | 浪潮金融信息技术有限公司 | 一种安卓设备截屏的方法、系统及介质 |
CN116841448A (zh) * | 2022-03-25 | 2023-10-03 | 追觅创新科技(苏州)有限公司 | 地图的显示方法、装置、存储介质及电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005426A (zh) * | 2014-04-18 | 2015-10-28 | 深圳Tcl新技术有限公司 | 触屏终端截屏、数据分享的方法及系统 |
CN105760057A (zh) * | 2016-02-26 | 2016-07-13 | 努比亚技术有限公司 | 截屏装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9529866B2 (en) * | 2010-12-20 | 2016-12-27 | Sybase, Inc. | Efficiently handling large data sets on mobile devices |
-
2017
- 2017-07-18 CN CN201710587330.9A patent/CN107450915B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005426A (zh) * | 2014-04-18 | 2015-10-28 | 深圳Tcl新技术有限公司 | 触屏终端截屏、数据分享的方法及系统 |
CN105760057A (zh) * | 2016-02-26 | 2016-07-13 | 努比亚技术有限公司 | 截屏装置和方法 |
Non-Patent Citations (1)
Title |
---|
Android截屏方案;Bear_android;《https://www.jianshu.com/p/980a75a31f2f》;20170314;第1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107450915A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107450915B (zh) | 一种快速截取多屏幕长图的方法 | |
US20160266757A1 (en) | Terminal Screenshot Method and Device | |
US11941777B2 (en) | Picture enlargement method and apparatus, device, and storage medium | |
CN106296760B (zh) | 图片的裁剪方法及装置 | |
US10484639B2 (en) | Image generation method and device | |
CN104216976A (zh) | 一种移动终端图片分组查看方法及系统 | |
US8913080B2 (en) | Partitioning high resolution images into sub-images for display | |
CN109389659B (zh) | Ppt中数学公式的渲染方法、装置、存储介质及终端设备 | |
CN105183338A (zh) | 对象处理方法 | |
CN103870197A (zh) | 一种处理图片的方法及装置 | |
CN106371712B (zh) | 不规则截图方法及装置 | |
CN112836086A (zh) | 一种视频处理方法、装置和电子设备 | |
CN105607831A (zh) | 弹窗的控制方法及装置 | |
CN104917963A (zh) | 一种图像处理方法及终端 | |
CN110413167B (zh) | 一种终端设备的截屏方法及终端设备 | |
CN109683798B (zh) | 一种文本确定方法、终端及计算机可读存储介质 | |
CN110737417A (zh) | 一种演示设备及其标注线的显示控制方法和装置 | |
WO2017011680A1 (en) | Device and method for processing data | |
CN116503640A (zh) | 视频检测的方法、装置、电子设备及存储介质 | |
CN105278896A (zh) | 一种图像显示方法、装置及终端设备 | |
CN110990097B (zh) | 一种ui界面生成方法、存储介质及智能终端 | |
CN109087304B (zh) | 一种基于热成像模块的超阈值区域的划分方法 | |
CN110580274B (zh) | 一种gis数据渲染方法 | |
CN109933262B (zh) | 一种gif截屏方法及其装置 | |
CN105677142B (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 |