CN105930052B - 一种截图方法及装置 - Google Patents

一种截图方法及装置 Download PDF

Info

Publication number
CN105930052B
CN105930052B CN201610232434.3A CN201610232434A CN105930052B CN 105930052 B CN105930052 B CN 105930052B CN 201610232434 A CN201610232434 A CN 201610232434A CN 105930052 B CN105930052 B CN 105930052B
Authority
CN
China
Prior art keywords
picture
artwork
frame
control
adjustment
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
Application number
CN201610232434.3A
Other languages
English (en)
Other versions
CN105930052A (zh
Inventor
周渊斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN201610232434.3A priority Critical patent/CN105930052B/zh
Publication of CN105930052A publication Critical patent/CN105930052A/zh
Application granted granted Critical
Publication of CN105930052B publication Critical patent/CN105930052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04845Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

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)

Abstract

本发明公开了一种截图方法,包括:生成用户对原图的显示比例和显示位置进行最后调整后得到的图片;将生成的图片调回到所述原图的大小,并按照对生成图片的调整比例调整图片显示控件的大小;确定调整后的图片显示控件在所述原图中的框选区域,并从所述原图中截取所述框选区域。本发明还公开了一种截图装置。

Description

一种截图方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种截图方法及装置。
背景技术
Android(安卓)是一种基于Linux的自由及开放的源代码的操作系统,现已经大规模的应用在智能手机、平板电脑等智能设备上。Android应用中经常会有用户选择图片进行显示或上传网络,但是用户选择的原始图片可能并不符合用户自己的要求,用户可能只需要图片的一部分进行显示或上传,因此需要对显示的图片进行裁切。
ImageView是Android系统中提供的一种用于图片显示的控件,ImageView支持截屏功能,可以针对显示的图片进行截屏,但是所截得图片不能保持原有图片的质量,即所截得图片的分辨率与显示该图片的设备有关,通常不能使所截得图片保持原图分辨率。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种截图方法及装置,可以使截取的图片保持原图分辨率。
为实现上述目的,本发明实施例提供了一种截图方法,包括:
生成用户对原图的显示比例和显示位置进行最后调整后得到的图片;
将生成的图片调回到所述原图的大小,并按照对生成图片的调整比例调整图片显示控件的大小;
确定调整后的图片显示控件在所述原图中的框选区域,并从所述原图中截取所述框选区域。
可选的,所述生成用户对原图的显示比例和显示位置进行最后调整后得到的图片,包括:
按照预设的初始缩放比例对原图进行调整后得到第一图片,并显示所述第一图片;
获取用户结束手动操作所述第一图片后得到的第二图片,所述手动操作包括缩放操作和/或上下平移操作。
可选的,所述按照预设的初始缩放比例对原图进行调整后得到第一图片,包括:
使所述原图与所述图片显示控件的框选区域同轴放置;
保持所述原图的左上角位置不变,使所述原图按照缩放比例Scale0进行缩放,以得到缩放后的第一图片;
Scale0=Math.max(Vw/Ow,Vh/Oh);
其中,Ow和Oh分别为所述原图的宽和高,Vw和Vh分别为所述图片显示控件的框选区域的宽和高。
可选的,所述确定调整后的图片显示控件在所述原图中的框选区域,包括:
计算调整后的图片显示控件在所述原图中的框选区域,具体按照下面公式计算所述框选区域的宽Fw和高Fh:
Fw=Math.min(Ow–Math.max(Sx,0),Vw/scaleF+Math.min(Sx,0));
Fh=Math.min(Oh–Math.max(Sy,0),Vh/scaleF+Math.min(Sy,0));
其中,scaleF为从所述原图到所述第二图片的缩放比例;
Sx为一个矢量,从所述原图的左边框到所述原图的右边框的方向为Sx的正方向,所述原图的左边框与调整后的图片显示控件的左边框之间的长度为Sx的大小;
Sy为一个矢量,从所述原图的上边框到所述原图的下边框的方向为Sy的正方向,所述原图的上边框与调整后的图片显示控件的上边框之间的长度为Sy的大小。
可选的,所述Sx和所述Sy的计算公式分别为:
其中,Dx0=(Ow-Vw)/2,Dy0=(Oh-Vh)/2;
Dxi为一个矢量,当i=1、2、……n时,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的左边框到所述当前图片的右边框的方向为Dxi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dxi的大小;
Dyi为一个矢量,当i=1、2、……n时,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的上边框到所述当前图片的下边框的方向为Dyi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dyi的大小;
Scalej是第j次缩放所述第一图片相对于第j-1次缩放所述第一图片的缩放比例。
本发明实施例还提供了一种截图装置,包括:
图片生成单元,用于生成用户对原图的显示比例和显示位置进行最后调整后得到的图片;
图片还原单元,用于将生成的图片调回到所述原图的大小,并按照对生成图片的调整比例调整图片显示控件的大小;
区域确定单元,用于确定调整后的图片显示控件在所述原图中的框选区域;
图片截取单元,用于从所述原图中截取所述框选区域。
可选的,所述图片生成单元,包括:
初始显示模块,用于按照预设的初始缩放比例对原图进行调整后得到第一图片,并显示所述第一图片;
图片获取模块,用于获取用户结束手动操作所述第一图片后得到的第二图片,所述手动操作包括缩放操作和/或上下平移操作。
可选的,所述初始显示模块,包括:
同轴放置子模块,用于使所述原图与所述图片显示控件的框选区域同轴放置;
初始缩放子模块,用于保持所述原图的左上角位置不变,使所述原图按照缩放比例Scale0进行缩放,以得到缩放后的第一图片;
Scale0=Math.max(Vw/Ow,Vh/Oh);
其中,Ow和Oh分别为所述原图的宽和高,Vw和Vh分别为所述图片显示控件的框选区域的宽和高。
可选的,所述区域确定单元,具体用于计算调整后的图片显示控件在所述原图中的框选区域,具体按照下面公式计算所述框选区域的宽Fw和高Fh:
Fw=Math.min(Ow–Math.max(Sx,0),Vw/scaleF+Math.min(Sx,0));
Fh=Math.min(Oh–Math.max(Sy,0),Vh/scaleF+Math.min(Sy,0));
其中,scaleF为从所述原图到所述第二图片的缩放比例;
Sx为一个矢量,从所述原图的左边框到所述原图的右边框的方向为Sx的正方向,所述原图的左边框与调整后的图片显示控件的左边框之间的长度为Sx的大小;
Sy为一个矢量,从所述原图的上边框到所述原图的下边框的方向为Sy的正方向,所述原图的上边框与调整后的图片显示控件的上边框之间的长度为Sy的大小。
可选的,所述Sx和所述Sy的计算公式分别为:
其中,Dx0=(Ow-Vw)/2,Dy0=(Oh-Vh)/2;
Dxi为一个矢量,当i=1、2、……n时,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的左边框到所述当前图片的右边框的方向为Dxi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dxi的大小;
Dyi为一个矢量,当i=1、2、……n时,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的上边框到所述当前图片的下边框的方向为Dyi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dyi的大小;
Scalej是第j次缩放所述第一图片相对于第j-1次缩放所述第一图片的缩放比例。
本发明实施例提供的截图方法及装置,生成用户对原图的显示比例和显示位置进行最后调整后得到的图片;将生成的图片调回到所述原图的大小,并按照对生成图片的调整比例调整图片显示控件的大小;确定调整后的图片显示控件在所述原图中的框选区域,并从所述原图中截取所述框选区域。可见,通过将生成的图片还原为原图本身,同时按照还原比例对图片显示控件进行调整,使得利用调整后的图片显示控件截取的图片部分即原图本身中的图片部分,这样就可以使截取的图片保持原图分辨率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的截图方法的流程示意图;
图2为本发明实施例提供的原图与控件的显示示意图;
图3为本发明实施例提供的第一图片与控件的显示示意图;
图4为本发明实施例提供的框选区域示意图之一;
图5为本发明实施例提供的框选区域示意图之二;
图6为本发明实施例提供的框选区域示意图之三;
图7为本发明实施例提供的截图装置的组成示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的截图方法的流程示意图,该方法包括:
步骤101:生成用户对原图的显示比例和显示位置进行最后调整后得到的图片。
当用户想要截取某原图中的部分图片进行显示或上传网络时,首先需要将该原图以某种形式显示在截图设备(所述截图设备可以是手机、平板等设备)的截图界面上,同时,图片显示控件比如ImageView(android系统提供的图片显示控件)的框选区域也显示在截图界面上,用户通过对显示的图片进行操作,将图片中自己想要截取的部分置于图片显示控件的框选区域内,当用户触发截图指令(比如用户点击截图界面上的截图按钮)后,截图设备便会截取图片显示控件所框选的全部或部分图片。
由于原图本身尺寸可能过大或过小,因此可以预设原图的初始显示方式,并使原图以该初始显示方式显示在截图界面上,将以该初始显示方式显示的原图定义为第一图片,然后,用户可以根据自己的截图需求,调整(比如,当截图设备是智能手机时,可以采用触屏调整,当截图设备是电脑时,可以采用鼠标调整)所述第一图片的显示比例和显示位置,具体可以通过缩放所述第一图片调整所述第一图片的显示比例和/或通过上下平移所述第一图片调整所述第一图片的显示位置,经过对所述第一图片的一次或多次调整后得到第二图片,最终将所述第二图片中用户想要截取的部分置于所述图片显示控件的框选区域内,以便截图设备截取所述框选区域内的原图部分。
具体地,步骤101可以包括步骤101A和步骤101B:
步骤101A:按照预设的初始缩放比例对原图进行调整后得到第一图片,并显示所述第一图片。
用户可以在截图界面上从相册或其它存储位置中调取某原图,当截图设备检测到调取信号后,便使图片显示控件的框选区域与该原图同轴放置,然后,根据预设的初始缩放比例对原图进行初始调整,并将调整后得到的第一图片显示在截图界面上。
其中,所述第一图片的比例与所述原图的比例相同,根据所述原图的宽高比例与所述图片显示控件的宽高比例,所述第一图片的宽高为以下三种方式之一:
1、所述第一图片的宽与所述图片显示控件的宽相同且所述第一图片的高小于所述图片显示控件的高。比如,假设图片显示控件的宽高为100×100且原图的宽高为200×100,则对原图进行调整后得到的第一图片的左上角位置不变且宽高为100×50。
2、所述第一图片的高与所述图片显示控件的高相同且所述第一图片的宽小于所述图片显示控件的宽。比如,假设图片显示控件的宽高为100×100且原图的宽高为100×200,则对原图进行调整后得到的第一图片的左上角位置不变且宽高为50×100。
3、所述第一图片的宽高与所述图片显示控件的宽高相同。比如,假设图片显示控件的宽高为100×100且原图的宽高为200×200,则对原图进行调整后得到的第一图片的左上角位置不变且宽高为100×100。
在一些实施方式中,为实现上述三种显示方式,在步骤101A中对原图进行调整后得到第一图片,可以包括:使所述原图与所述图片显示控件的框选区域同轴放置;保持所述原图的左上角位置不变,使所述原图按照缩放比例Scale0进行缩放,以得到缩放后的第一图片;Scale0=Math.max(Vw/Ow,Vh/Oh);其中,Ow和Oh分别为所述原图的宽和高,Vw和Vh分别为所述图片显示控件的框选区域的宽和高。
其中,Math.max(Vw/Ow,Vh/Oh)的含义是从(Vw/Ow,Vh/Oh)中选取最大值。
可见,本发明实施例可以根据应用需求,灵活的设置原图在所述截图界面中的初始显示方式,如设置图片宽高比限制、图片宽高设置等,具体可以依据原图宽高和所述图片显示控件的宽高计算原图的初始缩放比例Scale0。
下面举例说明这种实施方式。
假设原图的宽Ow=200、原图的高Oh=200,图片显示控件的宽Vw=100、图片显示控件的高Vh=100。
首先,将原图和图片显示控件同轴放置,如图2所示的原图与控件的显示示意图。
然后,计算原图的初始缩放比例Scale0=Math.max(Vw/Ow,Vh/Oh)=1/2,使原图宽高缩小到原来的1/2,以得到缩小后的第一图片,第一图片的宽和高均为100,在截图界面上显示第一图片,如图3所示的第一图片与控件的显示示意图。
步骤101B:获取用户结束手动操作所述第一图片后得到的第二图片,所述手动操作包括缩放操作和/或上下平移操作。
对于以初始显示方式显示在截图界面上的第一图片,为了能够将第一图片中用户想要截取的部分置于所述图片显示控件的框选区域内,用户通常需要通过一次或多次调整所述第一图片的显示位置和显示比例,使自己想要截取的部分置于框选区域内,在本实施方式中,将结束调整所述第一图片后得到的图片记为第二图片。
本发明实施例通过监听用户的屏幕触摸动作,将其分解成图片缩放动作和图片平移动作,并计算并记录每次缩放动作的缩放比例和平移动作的平移距离,根据记录的平移距离进行图片平移,根据记录的缩放比例对图片进行缩放。
为了实现缩放和平移,所述图片显示控件具有缩放手势捕捉接口OnScaleGesture Listener和触摸回调接口OnTouch Listener。当截图设备检测到用户对图片显示控件框选区域所在的屏幕进行触摸时,会先回调OnTouch Listener的OnTouch接口,当截图设备检测到用户缩放显示的图片时,会在OnTouch接口中回调OnScale Gesture Listener的OnScale接口,进行图片缩放。
步骤102:将生成的图片调回到所述原图的大小,并按照对生成图片的调整比例调整图片显示控件的大小。
对于经步骤101B调整后得到的第二图片,保持第二图片的中心位置不变,计算第二图片与原图之间的比例,依据该比例,将第二图片放大或缩小到原图本身的大小,同时,也保持图片显示控件框选区域的中心位置不变,按照对所述第二图片的调整比例放大或缩小所述图片显示控件的框选区域。此时,所述图片显示控件所框选的部分就是原图本身的截图范围。
步骤103:确定调整后的图片显示控件在所述原图中的框选区域,并从所述原图中截取所述框选区域。
本发明实施例是在原图上进行截图的,为了能够从原图中截取所述图片显示控件所框选的原图区域,需要根据记录的对所述第一图片的一系列缩放比例和平移距离计算出所要裁切的原图区域,并将计算出的原图区域保存成图片输出。
为了实现步骤103,需要确定所述框选区域的左上角位置以及所述框选区域的宽度和高度,以便从原图中截取所述框选区域。具体地,步骤103中所述确定调整后的图片显示控件在所述原图中的框选区域,可以包括:
计算调整后的图片显示控件在所述原图中的框选区域,具体按照下面公式计算所述框选区域的宽Fw和高Fh:
Fw=Math.min(Ow–Math.max(Sx,0),Vw/scaleF+Math.min(Sx,0));
Fh=Math.min(Oh–Math.max(Sy,0),Vh/scaleF+Math.min(Sy,0));
其中,Ow和Oh分别为所述原图的宽和高;
Vw和Vh分别为调整前的图片显示控件的框选区域的宽和高。
scaleF为从所述原图到所述第二图片的缩放比例,假设对原图进行了N次缩放操作,scaleF就是将N次缩放操作分别对应的缩放比例进行相乘得到的,即ScaleF=Scale0*Scale1*…*ScaleN;
Sx为一个矢量,从所述原图的左边框到所述原图的右边框的方向为Sx的正方向,所述原图的左边框与调整后的图片显示控件的左边框之间的长度为Sx的大小;
Sy为一个矢量,从所述原图的上边框到所述原图的下边框的方向为Sy的正方向,所述原图的上边框与调整后的图片显示控件的上边框之间的长度为Sy的大小。
其中,所述Sx和所述Sy的计算公式分别为:
其中,Dx0=(Ow-Vw)/2,Dy0=(Oh-Vh)/2;
Dxi为一个矢量,当i=1、2、……n时,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的左边框到所述当前图片的右边框的方向为Dxi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dxi的大小;
Dyi为一个矢量,当i=1、2、……n时,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的上边框到所述当前图片的下边框的方向为Dyi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dyi的大小;
Scalej是第j次缩放所述第一图片相对于第j-1次缩放所述第一图片的缩放比例。
下面举例说明步骤103。
参见图3,首先按照下述公式计算Dx0和Dy0:
Dx0=(Ow-Vw)/2,Dy0=(Oh-Vh)/2;
Dx0和Dy0是矢量,第一图片的左边框与图片显示控件框选区域的左边框之间的距离是Dx0的大小,第一图片的左边框到第一图片的右边框的方向是Dx0的正方向;第一图片的上边框与图片显示控件框选区域的上边框之间的距离是Dy0的大小,第一图片的上边框到第一图片的下边框的方向是Dy0的正方向。
用户每次对第一图片进行缩放操作时,记录当前的缩放比例Dxi,每次进行缩放操作或平移操作时,记录本次操作结束后对应的Dxi和Dyi,结束对第一图片的操作后得到第二图片,当将第二图片还原为原图本身、且将图片显示控件按照对第二图片的还原比例进行缩放后,计算图片显示控件所框选的原图区域的左上角位置Sx和Sy。
在计算调整后的图片显示控件在所述原图中的框选区域时,所述框选区域的宽度范围Fw和高度范围Fh的计算公式分别为:
Fw=Math.min(Ow–Math.max(Sx,0),Vw/scaleF+Math.min(Sx,0));
Fh=Math.min(Oh–Math.max(Sy,0),Vh/scaleF+Math.min(Sy,0))。
现以原图与调整后的图片显示控件的不同位置关系(宽度的不同位置关系)来说明本发明实施例。
参见图4所示的框选区域示意图之一,当图片显示控件的框选区域左上角位于原图内、且图片显示控件右边部分位于原图的外面时,此时Sx和Sy均为正数,则Fw=Math.min(Ow–Sx,Vw/scaleF),Fh=Math.min(Oh–Sy,Vh/scaleF),由于Vw/scaleF代表经步骤102后得到的图片显示控件框选区域的宽度,所以Ow–Sx<Vw/scaleF,因此Fw=Ow–Sx,同理,由于Vh/scaleF代表经步骤102后得到的图片显示控件框选区域的高度,所以Oh–Sy>Vh/scaleF,因此Fh=Vh/scaleF。
参见图5所示的框选区域示意图之二,当图片显示控件的整个框选区域位于原图内时,此时Sx和Sy均为正数,则Fw=Math.min(Ow–Sx,Vw/scaleF),Fh=Math.min(Oh–Sy,Vh/scaleF),由于Vw/scaleF代表经步骤102后得到的图片显示控件框选区域的宽度,所以Ow–Sx>Vw/scaleF,因此Fw=Vw/scaleF,同理,由于Vh/scaleF代表经步骤102后得到的图片显示控件框选区域的高度,所以Oh–Sy>Vh/scaleF,因此Fh=Vh/scaleF。
参见图6所示的框选区域示意图之三,当图片显示控件的框选区域左上角位于原图外,即图片显示控件左边部分位于原图的外面时,此时Sx为负数,Sy为正数,则Fw=Math.min(Ow,Vw/scaleF-|Sx|),Fh=Math.min(Oh–Sy,Vh/scaleF),由于Vw/scaleF代表经步骤102后得到的图片显示控件框选区域的宽度,所以Ow>Vw/scaleF-|Sx|,因此Fw=Vw/scaleF-|Sx|,同理,由于Vh/scaleF代表经步骤102后得到的图片显示控件框选区域的高度,所以Oh–Sy>Vh/scaleF,因此Fh=Vh/scaleF。
本发明实施例提供的截图方法,生成用户对原图的显示比例和显示位置进行最后调整后得到的图片;将生成的图片调回到所述原图的大小,并按照对生成图片的调整比例调整图片显示控件的大小;确定调整后的图片显示控件在所述原图中的框选区域,并从所述原图中截取所述框选区域。可见,通过将生成的图片还原为原图本身,同时按照还原比例对图片显示控件进行调整,使得利用调整后的图片显示控件截取的图片部分即原图本身中的图片部分,这样就可以使截取的图片保持原图分辨率。
参见图7,为本发明实施例提供的截图装置的组成示意图,包括:
图片生成单元701,用于生成用户对原图的显示比例和显示位置进行最后调整后得到的图片;
图片还原单元702,用于将生成的图片调回到所述原图的大小,并按照对生成图片的调整比例调整图片显示控件的大小;
区域确定单元703,用于确定调整后的图片显示控件在所述原图中的框选区域;
图片截取单元704,用于从所述原图中截取所述框选区域。
在一些实施方式中,所述图片生成单元701,包括:
初始显示模块,用于按照预设的初始缩放比例对原图进行调整后得到第一图片,并显示所述第一图片;
图片获取模块,用于获取用户结束手动操作所述第一图片后得到的第二图片,所述手动操作包括缩放操作和/或上下平移操作。
在一些实施方式中,所述初始显示模块,包括:
同轴放置子模块,用于使所述原图与所述图片显示控件的框选区域同轴放置;
初始缩放子模块,用于保持所述原图的左上角位置不变,使所述原图按照缩放比例Scale0进行缩放,以得到缩放后的第一图片;
Scale0=Math.max(Vw/Ow,Vh/Oh);
其中,Ow和Oh分别为所述原图的宽和高,Vw和Vh分别为所述图片显示控件的框选区域的宽和高。
在一些实施方式中,所述区域确定单元703,具体用于计算调整后的图片显示控件在所述原图中的框选区域,具体按照下面公式计算所述框选区域的宽Fw和高Fh:
Fw=Math.min(Ow–Math.max(Sx,0),Vw/scaleF+Math.min(Sx,0));
Fh=Math.min(Oh–Math.max(Sy,0),Vh/scaleF+Math.min(Sy,0));
其中,scaleF为从所述原图到所述第二图片的缩放比例;
Sx为一个矢量,从所述原图的左边框到所述原图的右边框的方向为Sx的正方向,所述原图的左边框与调整后的图片显示控件的左边框之间的长度为Sx的大小;
Sy为一个矢量,从所述原图的上边框到所述原图的下边框的方向为Sy的正方向,所述原图的上边框与调整后的图片显示控件的上边框之间的长度为Sy的大小。
在一些实施方式中,所述Sx和所述Sy的计算公式分别为:
其中,Dx0=(Ow-Vw)/2,Dy0=(Oh-Vh)/2;
Dxi为一个矢量,当i=1、2、……n时,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的左边框到所述当前图片的右边框的方向为Dxi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dxi的大小;
Dyi为一个矢量,当i=1、2、……n时,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的上边框到所述当前图片的下边框的方向为Dyi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dyi的大小;
Scalej是第j次缩放所述第一图片相对于第j-1次缩放所述第一图片的缩放比例。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种截图方法,其特征在于,包括:
生成用户对原图按照第一显示比例和显示位置进行调整后得到的图片,将所述生成的图片中需要截取的部分置于图片显示控件的框选区域内,并保持所述图片显示控件的大小不变;
将所述生成的图片按照第二显示比例调回到所述原图的大小,并按照所述第二显示比例调整所述图片显示控件的大小,其中,所述第二显示比例和所述第一显示比例互为倒数;
确定调整后的所述图片显示控件在所述原图中的框选区域,截取所述框选区域中的所述原图中的数据。
2.根据权利要求1所述的方法,其特征在于,所述生成用户对原图按照第一显示比例和显示位置进行调整后得到的图片,包括:
按照预设的初始缩放比例对原图进行调整后得到第一图片,并显示所述第一图片;
获取用户结束手动操作所述第一图片后得到的第二图片,所述手动操作包括缩放操作和/或上下平移操作。
3.根据权利要求2所述的方法,其特征在于,所述按照预设的初始缩放比例对原图进行调整后得到第一图片,包括:
使所述原图与所述图片显示控件的框选区域同轴放置;
保持所述原图的左上角位置不变,使所述原图按照缩放比例Scale0进行缩放,以得到缩放后的第一图片;
Scale0=Math.max(Vw/Ow,Vh/Oh);
其中,Ow和Oh分别为所述原图的宽和高,Vw和Vh分别为所述图片显示控件的框选区域的宽和高。
4.根据权利要求3所述的方法,其特征在于,所述确定调整后的图片显示控件在所述原图中的框选区域,包括:
计算调整后的图片显示控件在所述原图中的框选区域,具体按照下面公式计算所述框选区域的宽Fw和高Fh:
Fw=Math.min(Ow–Math.max(Sx,0),Vw/scaleF+Math.min(Sx,0));
Fh=Math.min(Oh–Math.max(Sy,0),Vh/scaleF+Math.min(Sy,0));
其中,scaleF为从所述原图到所述第二图片的缩放比例;
Sx为一个矢量,从所述原图的左边框到所述原图的右边框的方向为Sx的正方向,所述原图的左边框与调整后的图片显示控件的左边框之间的长度为Sx的大小;
Sy为一个矢量,从所述原图的上边框到所述原图的下边框的方向为Sy的正方向,所述原图的上边框与调整后的图片显示控件的上边框之间的长度为Sy的大小。
5.根据权利要求4所述的方法,其特征在于,所述Sx和所述Sy的计算公式分别为:
其中,Dx0=(Ow-Vw)/2,Dy0=(Oh-Vh)/2;
Dxi为一个矢量,当i=1、2、……n时,其中,n是缩放次数,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的左边框到所述当前图片的右边框的方向为Dxi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dxi的大小;
Dyi为一个矢量,当i=1、2、……n时,其中,n是缩放次数,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的上边框到所述当前图片的下边框的方向为Dyi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dyi的大小;
Scalej是第j次缩放所述第一图片相对于第j-1次缩放所述第一图片的缩放比例。
6.一种截图装置,其特征在于,包括:
图片生成单元,用于生成用户对原图按照第一显示比例和显示位置进行调整后得到的图片,将所述生成的图片中需要截取的部分置于图片显示控件的框选区域内,并保持所述图片显示控件的大小不变;
图片还原单元,用于将所述生成的图片按照第二显示比例调回到所述原图的大小,并按照所述第二显示比例调整所述图片显示控件的大小,其中,所述第二显示比例和所述第一显示比例互为倒数;
区域确定单元,用于确定调整后的所述图片显示控件在所述原图中的框选区域;
图片截取单元,用于截取所述框选区域中的所述原图中的数据。
7.根据权利要求6所述的装置,其特征在于,所述图片生成单元,包括:
初始显示模块,用于按照预设的初始缩放比例对原图进行调整后得到第一图片,并显示所述第一图片;
图片获取模块,用于获取用户结束手动操作所述第一图片后得到的第二图片,所述手动操作包括缩放操作和/或上下平移操作。
8.根据权利要求7所述的装置,其特征在于,所述初始显示模块,包括:
同轴放置子模块,用于使所述原图与所述图片显示控件的框选区域同轴放置;
初始缩放子模块,用于保持所述原图的左上角位置不变,使所述原图按照缩放比例Scale0进行缩放,以得到缩放后的第一图片;
Scale0=Math.max(Vw/Ow,Vh/Oh);
其中,Ow和Oh分别为所述原图的宽和高,Vw和Vh分别为所述图片显示控件的框选区域的宽和高。
9.根据权利要求8所述的装置,其特征在于,所述区域确定单元,具体用于计算调整后的图片显示控件在所述原图中的框选区域,具体按照下面公式计算所述框选区域的宽Fw和高Fh:
Fw=Math.min(Ow–Math.max(Sx,0),Vw/scaleF+Math.min(Sx,0));
Fh=Math.min(Oh–Math.max(Sy,0),Vh/scaleF+Math.min(Sy,0));
其中,scaleF为从所述原图到所述第二图片的缩放比例;
Sx为一个矢量,从所述原图的左边框到所述原图的右边框的方向为Sx的正方向,所述原图的左边框与调整后的图片显示控件的左边框之间的长度为Sx的大小;
Sy为一个矢量,从所述原图的上边框到所述原图的下边框的方向为Sy的正方向,所述原图的上边框与调整后的图片显示控件的上边框之间的长度为Sy的大小。
10.根据权利要求9所述的装置,其特征在于,所述Sx和所述Sy的计算公式分别为:
其中,Dx0=(Ow-Vw)/2,Dy0=(Oh-Vh)/2;
Dxi为一个矢量,当i=1、2、……n时,其中,n是缩放次数,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的左边框到所述当前图片的右边框的方向为Dxi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dxi的大小;
Dyi为一个矢量,当i=1、2、……n时,其中,n是缩放次数,若将第i次对所述第一图片进行调整后得到的图片记为当前图片,则从所述当前图片的上边框到所述当前图片的下边框的方向为Dyi的正方向,所述当前图片的左边框与调整前的图片显示控件的左边框之间的长度为Dyi的大小;
Scalej是第j次缩放所述第一图片相对于第j-1次缩放所述第一图片的缩放比例。
CN201610232434.3A 2016-04-14 2016-04-14 一种截图方法及装置 Active CN105930052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610232434.3A CN105930052B (zh) 2016-04-14 2016-04-14 一种截图方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610232434.3A CN105930052B (zh) 2016-04-14 2016-04-14 一种截图方法及装置

Publications (2)

Publication Number Publication Date
CN105930052A CN105930052A (zh) 2016-09-07
CN105930052B true CN105930052B (zh) 2018-10-19

Family

ID=56839016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610232434.3A Active CN105930052B (zh) 2016-04-14 2016-04-14 一种截图方法及装置

Country Status (1)

Country Link
CN (1) CN105930052B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106651997A (zh) * 2016-12-30 2017-05-10 温州波普科技有限公司 图片处理方法及系统
CN107390986A (zh) * 2017-07-05 2017-11-24 Tcl移动通信科技(宁波)有限公司 一种移动终端裁图控制方法、存储设备及移动终端
CN108363536A (zh) * 2018-02-27 2018-08-03 维沃移动通信有限公司 一种表情包使用方法及终端设备
CN110383811A (zh) * 2018-06-29 2019-10-25 深圳市大疆创新科技有限公司 图像处理方法及装置、第一电子设备和图像处理系统
CN112445394A (zh) * 2019-08-30 2021-03-05 北京沃东天骏信息技术有限公司 一种截图方法和装置
CN111966259B (zh) * 2020-08-31 2022-05-17 维沃移动通信有限公司 截图方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708539A (zh) * 2012-04-21 2012-10-03 上海量明科技发展有限公司 通过二次截图获取图像的方法及客户端
CN104952027A (zh) * 2014-10-11 2015-09-30 腾讯科技(北京)有限公司 一种包含人脸信息的图片剪裁方法及装置
CN104991725A (zh) * 2015-07-28 2015-10-21 北京金山安全软件有限公司 一种图片裁剪的方法和系统
CN105205780A (zh) * 2015-10-19 2015-12-30 新华瑞德(北京)网络科技有限公司 图片裁剪方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302116B2 (en) * 2004-02-12 2007-11-27 Xerox Corporation Method and apparatus for reduced size image

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708539A (zh) * 2012-04-21 2012-10-03 上海量明科技发展有限公司 通过二次截图获取图像的方法及客户端
CN104952027A (zh) * 2014-10-11 2015-09-30 腾讯科技(北京)有限公司 一种包含人脸信息的图片剪裁方法及装置
CN104991725A (zh) * 2015-07-28 2015-10-21 北京金山安全软件有限公司 一种图片裁剪的方法和系统
CN105205780A (zh) * 2015-10-19 2015-12-30 新华瑞德(北京)网络科技有限公司 图片裁剪方法和装置

Also Published As

Publication number Publication date
CN105930052A (zh) 2016-09-07

Similar Documents

Publication Publication Date Title
CN105930052B (zh) 一种截图方法及装置
TWI785258B (zh) 人臉影像處理方法、裝置及儲存介質
EP3470918B1 (en) User interface for camera effects
US10191636B2 (en) Gesture mapping for image filter input parameters
KR20220130197A (ko) 촬영 방법, 장치, 전자설비 및 저장매체
US9170728B2 (en) Electronic device and page zooming method thereof
TW201324317A (zh) 具有觸摸屏的電子設備及其頁面縮放方法
WO2014046851A1 (en) System, method and computer program for image processing, in particular for introducing blurring effects to an image
CN104836957A (zh) 一种照片拍摄的处理方法及装置
USRE49272E1 (en) Adaptive determination of information display
CN111669507A (zh) 拍照方法、装置及电子设备
TW201608523A (zh) 生成圖片縮略圖的方法與系統
WO2017059734A1 (zh) 一种图片缩放方法及电子设备
CN103824252A (zh) 图片处理方法及系统
CN103929583A (zh) 一种控制智能终端的方法及智能终端
CN112954193A (zh) 拍摄方法、装置、电子设备及介质
DE202017002874U1 (de) Benutzerschnittstelle für Kameraeffekte
JP2024504159A (ja) 撮影方法、装置、電子機器及び可読記憶媒体
WO2017162162A1 (zh) 用于在多点触摸终端上调整被操控工具的方法及设备
CN106126057B (zh) 一种屏幕截图方法、装置及终端设备
US9424808B2 (en) Image cropping manipulation method and portable electronic device
CN111612916A (zh) 在环境内的移动
US10645144B2 (en) Computer-implemented method for controlling a remote device with a local device
CN109814704B (zh) 一种视频数据处理方法和装置
US20220083208A1 (en) Non-proportionally transforming and interacting with objects in a zoomable user interface

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant