一种图片裁剪的方法和系统
技术领域
本发明属于图像处理技术领域,具体涉及一种图片裁剪的方法和系统。
背景技术
现有技术中,用户可以在PC(Personal Computer,个人计算机)本地、移动设备本地对图片或者照片进行各种处理(以下均称为图片),包括对图片缩放,旋转,还有裁剪等,之后用户可以将这些图片设置为桌面背景或幻灯片,也可以上传到网上进行分享。在移动设备上,在需要对图片进行裁剪时,由于显示屏空间有限,那么在狭小的空间上用户需要裁剪图片的一小块区域将会变成非常麻烦。
为了更好的满足用户的需求,目前已经有各种图片处理软件,在这些软件中也提供了一种图片裁剪的方式,通过裁剪框框选出需要裁剪的图片区域,通过手指触控拖动裁剪框从而改变裁剪框的位置和大小来精确选择需要裁剪图片区域,但是由于拖动裁剪框的时候,手指在屏幕上占据一定的空间,当裁剪框移动的比较小的时候,手指会对图片进行遮挡,不利于裁剪的进行,导致很难精确的裁剪出所需要的部分。
发明内容
针对现有技术中存在的缺陷,本发明实施例的目的是提供一种图片裁剪的方法和系统。该方法和系统能够提高用户在各种终端特别是移动设备的触摸屏上在裁剪图片时候的用户体验,在拖动的过程中图片将被裁剪的区域不会被手指遮挡,能够根据裁剪框的缩放程度智能地对图片进行一个缩放,从而使用户可以更精确地裁剪出所希望的区域。
为达到以上目的,本发明实施例公开的技术方案是:一种图片裁剪的方法,包括以下步骤:
载入需要进行裁剪处理的图片;
确定所述图片中需要裁剪的初始图片区域,并在所述图片上展示裁剪框以通过所述剪裁框框选所述初始图片区域;
根据用户对所述剪裁框的拖动操作,对所述裁剪框的大小进行调整;
根据所述裁剪框的调整情况,对所述图片和裁剪框进行相应的缩放处理。
进一步,所述根据所述裁剪框的调整情况,对所述图片和裁剪框进行相应的缩放处理包括:
在用户拖动裁剪框从而缩小所述裁剪框的情况下,根据裁剪框缩小的程度对图片进行一个放大处理,并使所述裁剪框跟随所述图片进行相应的放大。
更进一步,用户对裁剪框缩小的比例与对图片进行放大处理的比例是对应的,所述裁剪框跟随图片放大相同的比例。
进一步,所述根据所述裁剪框的调整情况,对所述图片和裁剪框进行相应的缩放处理包括:
在用户拖动裁剪框从而放大所述裁剪框的情况下,根据裁剪框放大的程度对图片进行一个缩小处理,并使所述裁剪框跟随所述图片进行相应的缩小。
更进一步,用户对裁剪框放大的比例与对图片进行缩小处理的比例是对应的,所述裁剪框跟随图片缩小相同的比例。
再进一步,所述根据所述裁剪框的调整情况,对所述图片和裁剪框进行相应的缩放处理包括:
判断是否需要对图片和裁剪框进行缩放,判断方式如下:
采有以下公式来判断是否需要缩放图片和裁剪框;
z1=(screenWidth/cropWidth)*ratio;
z2=(screenHeight/cropHeight)*ratio;
z=max(min(z1,z2)*scale,1.0);
其中,cropWidth表示裁剪框的宽,cropHeight表示裁剪框的高,screenWidth表示屏幕宽,screenHeight表示屏幕高,scale表示屏幕已有的缩放值,ratio表示缩放敏感度,ratio取值大于0且小于1;
如果
(z-scale)/z>0.1
的话,那么就对图片和裁剪框进行z倍的缩放。
再进一步,ratio取值大于等于0.4且小于等于0.7。
更进一步,ratio取值为0.6。
进一步,所述的裁剪框为的矩形、椭圆形或用户自定义的不规则形状。
为达到上述目的,本发明实施例还公开了一种图片裁剪的系统,包括以下装置:
载入装置,用于载入需要进行裁剪处理的图片;
裁剪框展示装置,用于确定所述图片中需要裁剪的初始图片区域,并在所述图片上展示裁剪框以通过所述剪裁框框选所述初始图片区域;
裁剪框调整装置,用于根据用户对所述剪裁框的拖动操作,对所述裁剪框的大小进行调整;
缩放装置,用于根据所述裁剪框的调整的情况,对所述图片和裁剪框进行相应的缩放处理。
进一步,在用户拖动裁剪框从而缩小所述裁剪框的情况下,所述的缩放装置会根据裁剪框缩小的程度对图片进行一个放大处理,并使所述裁剪框跟随所述图片进行相应的放大。
更进一步,在用户拖动裁剪框从而放大所述裁剪框的情况下,所述的缩放装置会根据裁剪框放大的程度对图片进行一个缩小处理,并使所述裁剪框跟随所述图片进行相应的缩小。
更进一步,所述的缩放装置中还设有判断模块,用于根据对裁剪框拖动的情况,判断是否需要对图片和裁剪框进行相应的缩放处理,判断方式如下:
采有以下公式来判断是否需要缩放图片和裁剪框;
z1=(screenWidth/cropWidth)*ratio;
z2=(screenHeight/cropHeight)*ratio;
z=max(min(z1,z2)*scale,1.0);
其中,cropWidth表示裁剪框的宽,cropHeight表示裁剪框的高,screenWidth表示屏幕宽,screenHeight表示屏幕高,scale表示屏幕已有的缩放值,ratio表示缩放敏感度,ratio取值大于0且小于1;
如果
(z-scale)/z>0.1
的话,那么就对图片和裁剪框进行z倍的缩放。
进一步,所述的裁剪框为的矩形、椭圆形或用户自定义的不规则形状。
本发明的效果在于:采用本发明实施例所公开的方法和系统,可以提高用户在各种终端特别是移动设备的触摸屏上在裁剪图片时候的用户体验,在拖动的过程中图片将被裁剪的区域不会被手指遮挡,可以根据裁剪框的缩放程度智能地对图片进行一个缩放,从而使用户可以更精确地裁剪出所希望的区域。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明具体实施方式中所述方法的流程图;
图2是本发明具体实施方式中所述系统的结构图;
图3至图10是本发明所述方法具体实施方式中的效果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
如图1所示,一种图片裁剪优化的方法,包括以下步骤:
步骤S1,载入需要进行裁剪处理的图片;
步骤S2,确定所述图片中需要裁剪的初始图片区域,并在所述图片上展示裁剪框以通过所述剪裁框框选所述初始图片区域;
步骤S3,根据用户对所述剪裁框的拖动操作,对所述裁剪框的大小进行调整;
步骤S4,根据所述裁剪框的调整的情况,对所述图片和裁剪框进行相应的缩放处理。
本实施例中,所述根据所述裁剪框的调整情况,对所述图片和裁剪框进行相应的缩放处理包括:在用户拖动裁剪框,例如拖动裁剪框的任意一个角从而缩小所述裁剪框的情况下,根据裁剪框缩小的程度对图片进行一个放大处理,并使所述裁剪框也同时跟随图片进行相应的放大,可选的,用户对裁剪框缩小的比例与对图片放大处理的比例是对应的,所述裁剪框跟随图片放大相同的比例,通过同时放大剪裁框与图片,可以更好更清晰的显示出裁剪的内容。
本实施例中,在用户拖动裁剪框,例如拖动裁剪框的任意一个角从而放大所述裁剪框放大的情况下,根据裁剪框放大的程度对图片进行一个缩小处理,并使所述裁剪框跟随图片进行相应的缩小,可选的,用户对裁剪框放大的比例与对图片进行放大处理的比例是对应的,所述裁剪框跟随图片缩小相同的比例。通过同时缩小剪裁框与图片,可以更准确,更清晰的显示剪裁的内容。
具体的,所述根据所述裁剪框的调整情况,对所述图片和裁剪框进行相应的缩放处理包括:
判断是否需要对图片和裁剪框进行缩放,判断方式如下:采有以下公式来判断是否需要缩放图片和裁剪框;
z1=(screenWidth/cropWidth)*ratio;
z2=(screenHeight/cropHeight)*ratio;
z=max(min(z1,z2)*scale,1.0);
其中,cropWidth表示裁剪框的宽,cropHeight表示裁剪框的高,screenWidth表示屏幕宽,screenHeight表示屏幕高,scale表示屏幕已有的缩放值,ratio表示缩放敏感度,ratio取值大于0且小于1;
如果
(z-scale)/z>0.1
的话,那么就对图片和裁剪框进行z倍的缩放,优选的,ratio取值大于等于0.4,小于等于0.7,最优选的,ratio取值为0.6。该公式对放大和缩小都适用。
需要说明的是,所述的裁剪框为矩形、椭圆形或用户自定义的不规则形状。本发明提供的图片输出的方法除了可以应用于在安卓、塞班、IOS系统的手机、平板电脑等智能移动设备上的图片处理过程中,还可以应用于在PC上的图片处理过程中。
具体实施例一:
如图3、图4、图5所示,本实施例中,在裁剪框拖动到一定小的情况下,对图片进行一个放大处理。
如图3所示,首先载入原图,在用户的选择下或者默认的条件下,确定出初始的裁剪区域,并显示出裁剪框框选裁剪区域,如图3为显示的原图大小,图中间有一个裁剪框;接下来,如图4所示,用户可以通过拖动裁剪框来缩小裁剪框,随着裁剪框的缩小,裁剪框覆盖的区域也随之缩小,从而精确裁剪区域,图4为对裁剪框拖动缩小操作;接下来,当用户通过抬起手指结束对裁剪框的缩小操作时,检测到裁剪框被缩小,为了避免手指遮挡裁剪框和裁剪区域,也为了更好的精确选择裁剪区域以便进一步对裁剪框进行调整,如图5所示,对图片进行放大,同时相应的放大裁剪框,图5为当手指放开拖动的时候,将图片放大。这样一来,能够便于继续调整裁剪框,从而精确的裁剪出所需要的图片部分。
本实施例中,所述根据所述裁剪框的调整情况,对所述图片和裁剪框进行相应的缩放处理可以包括:
判断是否需要对图片和裁剪框进行缩放,判断方式如下:
采用以下公式来判断是否需要缩放图片和裁剪框。
z1=(screenWidth/cropWidth)*ratio;
z2=(screenHeight/cropHeight)*ratio;
z=max(min(z1,z2)*scale,1.0);
其中,cropWidth表示裁剪框的宽,cropHeight表示裁剪框的高,screenWidth表示屏幕宽,screenHeight表示屏幕高,scale表示屏幕已有的缩放值,ratio表示缩放敏感度,ratio取值大于0且小于1;
如果
(z-scale)/z>0.1
的话,那么就对图片和裁剪框进行z倍的缩放,优选的,ratio取值大于等于0.4,小于等于0.7,最优选的,ratio取值为0.6。。
具体实施例二:
本实施例中,在用户拖动裁剪框从而缩小裁剪框的情况下,根据裁剪框缩小的程度对图片进行一个放大处理,并使所述裁剪框跟随所述图片进行放大。
如图6、图7、图8所示,本实施例中,首先载入原图,在用户的选择下或者默认的条件下,确定出初始的裁剪区域,并显示出裁剪框框选裁剪区域,图6所示为原图显示大小,裁剪框为初始大小;如图7所示,当用户拖动裁剪框的右上顶点往左下拉的时候,裁剪框随之减小,此时裁剪覆盖的区域也同时变小从而精确裁剪区域;如图8所示,当手指放开拖动以后,图片将进行一个放大,裁剪框也会随之变大,方便以后继续拖动。这一个过程虽然裁剪区域变小了,但是将图片放大以后仍旧能快速的裁剪出用户所希望的区域。
实施例三:
如图9、图10所示,本实施例中,当拖动裁剪框使其放大时,如图9所示,那么根据裁剪框放大的大小,自动对图片进行一个缩小操作,裁剪框也会随之缩小,如图10所示,这样可以看到更多的图像范围,并且可以进行下一步的裁剪。
如图2所示,本发明具体实施方式还提供了一种图片裁剪的系统,包括以下装置:
载入装置11,用于载入需要进行裁剪处理的图片;
裁剪框展示装置12,用于确定所述图片中需要裁剪的初始图片区域,并在所述图片上展示裁剪框以通过所述剪裁框框选所述初始图片区域;
裁剪框调整装置13,用于根据用户对所述剪裁框的拖动操作,对所述裁剪框的大小进行调整;
缩放装置14,用于根据所述裁剪框的调整的情况,对所述图片和裁剪框进行相应的缩放处理。
在用户拖动裁剪框,例如拖动裁剪框的任意一个角从而缩小所述裁剪框的情况下,所述的缩放装置会根据裁剪框缩小的程度对图片进行一个放大处理,并使所述裁剪框跟随所述图片进行相应的放大;用户对裁剪框缩小的比例与对图片进行放大的比例是对应的,所述裁剪框跟随图片放大相同的比例。
在用户拖动裁剪框,例如拖动裁剪框的任意一个角从而放大所述裁剪框的情况下,所述的缩放装置会根据裁剪框放大的程度对图片进行一个缩小处理,并使所述裁剪框跟随所述图片进行相应的缩小;用户对裁剪框放大的比例与对图片进行缩小的比例是对应的,所述裁剪框跟随图片缩小相同的比例。
其中,所述的缩放装置中还设有判断模块,用于根据所述裁剪框的调整情况,判断是否需要对图片和裁剪框进行相应的缩放处理,判断方式如下:
采有以下公式来判断是否需要缩放图片和裁剪框;
z1=(screenWidth/cropWidth)*ratio;
z2=(screenHeight/cropHeight)*ratio;
z=max(min(z1,z2)*scale,1.0);
其中,cropWidth表示裁剪框的宽,cropHeight表示裁剪框的高,screenWidth表示屏幕宽,screenHeight表示屏幕高,scale表示屏幕已有的缩放值,ratio表示缩放敏感度,ratio取值大于0且小于1;
如果
(z-scale)/z>0.1
的话,那么就对图片和裁剪框进行z倍的缩放,优选的,ratio取值大于等于0.4,小于等于0.7,最优选的,ratio取值为0.6。该公式对放大和缩小都适用。
通过上述实施例可以看出,采用本发明实施例所公开的方法和系统,可以提高用户在各种终端特别是移动设备的触摸屏上在裁剪图片时候的用户体验,在拖动的过程中图片将被裁剪的区域不会被手指遮挡,用户可以更精确的裁剪出所希望的区域。裁剪图片的时候,还可以根据裁剪框的缩放程度智能的对图片进行一个缩放。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。本领域技术人员应该明白,本发明所述的方法和系统并不限于具体实施方式中所述的实施例,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围,本发明的保护范围由权利要求及其等同物限定。