本发明涉及图片显示技术领域,尤其涉及一种基于android系统实现对图片各个角度的裁剪方法、装置、存储介质及终端。
背景技术:
目前所使用的android设备裁剪调用系统方法,都是垂直于设备方向正则裁剪,当图片存在旋转一定的角度或者跟水平方向并不是平行的时候裁剪图片就存在要旋转裁剪;即如果需要裁剪一张带有角度的图片,可能需要做两步,第一步把图片回正,然后在回正的基础上进行裁剪,比较麻烦,不方便用户进行操作。
技术实现要素:
本发明的目的在于克服现有技术的不足,本发明提供了一种基于android系统实现对图片各个角度的裁剪方法、装置、存储介质及终端,可以一步到位的实现对带角度的显示图片进行裁剪操作。
为了解决上述技术问题,本发明实施例提供了一种基于android系统实现对图片各个角度的裁剪方法,所述方法包括:
在用户对显示图片进行裁剪操作时,将所述显示图片中的透明显示图层对应矩阵作为临时操作矩阵;
基于所述透明显示图层对应矩阵生成对应的操作框;
基于所述操作框接收用户的对显示图片的裁剪操作,并根据所述裁剪操作在所述透明显示图层中绘制相应的裁剪框;
基于所述裁剪框对显示图片进行裁剪,将裁剪后的显示图片导入透明显示图层对应矩阵,形成更新后的透明显示图层对应矩阵;
将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步,并去除所述操作框;
基于同步后的正常显示图层对应矩阵对裁剪后的显示图片进行同步显示。
可选的,所述方法还包括:
基于android系统的view类在显示界面上的显示图片构建两个显示图层,其中的一个显示图层为正常显示图层,另一个显示图层为透明显示图层;
基于显示屏幕的坐标原点利用矩阵将两个显示图层进行对应表示,获得透明显示图层对应矩阵及正常显示图层对应矩阵。
可选的,所述基于显示屏幕的坐标原点利用矩阵将两个显示图层进行对应表示,包括:
基于显示屏幕上的左上角为坐标原点利用矩阵将两个显示图层进行对应表示。
可选的,所述在用户对显示图片进行裁剪操作时,使用透明显示图层对应矩阵记录当前透明显示图层的位置及角度,使用正常显示图层对应矩阵记录当前正常显示图层的位置及角度。
可选的,所述基于所述透明显示图层对应矩阵生成对应的操作框,包括:
基于所述透明显示图层对应矩阵的变化生成对应的操作框,并且将正常显示图层和透明显示图层同时在显示界面上显示。
可选的,所述将裁剪后的显示图片导入透明显示图层对应矩阵,形成更新后的透明显示图层对应矩阵,包括:
获得裁剪后的显示图片的基于显示屏幕上的左上角为坐标原点的裁剪后的显示图片的坐标信息;
将裁剪后的显示图片的坐标信息基于显示屏幕上的左上角为坐标原点导入透明显示图层对应矩阵中进行矩阵运算,形成更新后的透明显示图层对应矩阵。
可选的,所述将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步,包括:
将更新后的透明显示图层对应矩阵基于android系统的api与正常显示图层对应矩阵进行同步。
另外,本发明实施例还提供了一种基于android系统实现对图片各个角度的裁剪装置,所述装置包括:
作为模块:用于在用户对显示图片进行裁剪操作时,将所述显示图片中的透明显示图层对应矩阵作为临时操作矩阵;
生成模块:用于基于所述透明显示图层对应矩阵生成对应的操作框;
绘制模块:用于基于所述操作框接收用户的对显示图片的裁剪操作,并根据所述裁剪操作在所述透明显示图层中绘制相应的裁剪框;
导入模块:用于基于所述裁剪框对显示图片进行裁剪,将裁剪后的显示图片导入透明显示图层对应矩阵,形成更新后的透明显示图层对应矩阵;
同步模块:用于将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步,并去除所述操作框;
显示模块:用于基于同步后的正常显示图层对应矩阵对裁剪后的显示图片进行同步显示。
另外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述中任意一项所述的裁剪方法。
另外,本发明实施例还提供了一种终端设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行上述中任意一项所述的裁剪方法。
在本发明实施例中,通过将显示图片构建两个显示图层,并且利用矩阵来对每一个层图进行对应表示;在对显示图片进行操作的时候,可以透明显示图层来进行相应的操作,与用户进行交互,并且在完成操作之后同步到正常显示图层进行显示,即可实现一步到位的把一个具有一定角度的图片在裁剪玩之后还保持原来的旋转角度,或者在校准后裁剪成任意需要显示的角度,不需要更多的步骤即可实现,具有良好的用户使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的基于android系统实现对图片各个角度的裁剪方法的流程示意图;
图2是本发明实施例中的基于android系统实现对图片各个角度的裁剪装置的结构组成示意图;
图3是本发明实施例中的终端设备的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例
请参阅图1,图1是本发明实施例中的基于android系统实现对图片各个角度的裁剪方法的流程示意图。
如图1所示,一种基于android系统实现对图片各个角度的裁剪方法,所述方法包括:
s11:基于android系统的view类在显示界面上的显示图片构建两个显示图层;
在本发明具体实施过程中,在运行android系统的智能终端上的屏幕进行图片显示的时候,通过android系统中自带的view类在智能终端的显示界面上对显示图片进行显示图层的构建,并且是构建两个显示图层,其中的一个显示图层为正常显示图层,另一个显示图层为透明显示图层;并且该正常显示图层用于正常的显示,并且用户可见,而透明显示图层在正常显示图层之上,并且为透明状态,在不操作时,为隐藏起来的透明图层,用于欺骗用户的眼睛,使得用户以为自己在操作正常显示图层中所显示的图片,或者在用户操作的时候使用。
s12:基于显示屏幕的坐标原点利用矩阵将两个显示图层进行对应表示,获得透明显示图层对应矩阵及正常显示图层对应矩阵;
在本发明具体实施过程中,所述基于显示屏幕的坐标原点利用矩阵将两个显示图层进行对应表示,包括:基于显示屏幕上的左上角为坐标原点利用矩阵将两个显示图层进行对应表示。
具体的,在智能终端显示屏幕上,以显示屏幕上的左上角为坐标原点,构建成坐标系,然后利用矩阵的形式将两个显示图层进行对应表示,从而获得透明显示图层对应矩阵及正常显示图层对应矩阵;后续的所有操作均是基于这个坐标原点进行的,并且,透明显示图层对应矩阵和正常显示图层对应矩阵在无操作的情况下,是完全一致的,但是,透明显示图层对应矩阵用于管理透明显示图层,正常显示图层对应矩阵用于管理正常显示图层;这里假设透明显示图层为b图层,正常显示图层为a图层,则透明显示图层对应矩阵用代码matrixmmatrixb=newmatrix()表示,正常显示图层对应矩阵用代码matrixmmatrixa=newmatrix()表示。
s13:在用户对显示图片进行裁剪操作时,将所述显示图片中的透明显示图层对应矩阵作为临时操作矩阵;
在本发明具体实施过程中,所述在用户对显示图片进行裁剪操作时,使用透明显示图层对应矩阵记录当前透明显示图层的位置及角度,使用正常显示图层对应矩阵记录当前正常显示图层的位置及角度。
具体的,在用户对显示图片进行裁剪操作的时候,首先需要使用透明显示图层对应矩阵记录当前透明显示图层的位置及角度,使用正常显示图层对应矩阵记录当前正常显示图层的位置及角度,并且所记载的图片的位置及角度是一致的,然后将智能终端屏幕上所显示的显示图片中的透明显示图层对应矩阵作为临时操作矩阵,及该透明显示图层对应矩阵可随着用户的操作而改变的矩阵。
s14:基于所述透明显示图层对应矩阵生成对应的操作框;
在本发明具体实施过程中,所述基于所述透明显示图层对应矩阵生成对应的操作框,包括:基于所述透明显示图层对应矩阵的变化生成对应的操作框,并且将正常显示图层和透明显示图层同时在显示界面上显示。
具体的,根据透明显示图层对应矩阵的变化生成对应的操作框,该操作框为一个操作ui,用于接收用户的操作行为,并且将正常显示图层和透明显示图层同时在显示界面上显示。
s15:基于所述操作框接收用户的对显示图片的裁剪操作,并根据所述裁剪操作在所述透明显示图层中绘制相应的裁剪框;
在本发明具体实施过程中,在该操作框内接收用户对显示图片的裁剪操作,并形成相应的指令发送android系统,在android系统内根据该指令在透明显示图层中绘制相应的裁剪框。
s16:基于所述裁剪框对显示图片进行裁剪,将裁剪后的显示图片导入透明显示图层对应矩阵,形成更新后的透明显示图层对应矩阵;
在本发明具体实施过程中,所述将裁剪后的显示图片导入透明显示图层对应矩阵,形成更新后的透明显示图层对应矩阵,包括:获得裁剪后的显示图片的基于显示屏幕上的左上角为坐标原点的裁剪后的显示图片的坐标信息;将裁剪后的显示图片的坐标信息基于显示屏幕上的左上角为坐标原点导入透明显示图层对应矩阵中进行矩阵运算,形成更新后的透明显示图层对应矩阵。
具体的,在该裁剪框内对显示图片进行裁剪,即按照裁剪框所规定的来进行裁剪,在裁剪之后,获得裁剪后的显示图片的在显示屏幕上的左上角为坐标原点的裁剪后的显示图片的坐标信息;将裁剪后的显示图片的坐标信息根据显示屏幕上的左上角为坐标原点导入透明显示图层对应矩阵中进行矩阵运算,形成更新后的透明显示图层对应矩阵;该矩阵运算为加减乘除运算,具体是根据图像的裁剪情况来进行矩阵运算。
s17:将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步,并去除所述操作框;
在本发明具体实施过程中,所述将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步,包括:将更新后的透明显示图层对应矩阵基于android系统的api与正常显示图层对应矩阵进行同步。
具体的,在透明显示图层对应矩阵更新之后,根据android系统的api将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步;使得更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进内所表示的内容完全相同,使得后续显示的时候,所显示的图片的位置和角度是一致的;在完成同步之后,并去除该操作框,方便后续同步显示,不被该操作框所遮挡相应的显示内容。
s18:基于同步后的正常显示图层对应矩阵对裁剪后的显示图片进行同步显示。
在本发明具体实施过程中,在正常显示图层对应矩阵与更新后的透明显示图层对应矩阵同步之后,根据同步后的正常显示图层对应矩阵对裁剪后的显示图片进行同步显示,完成对图片的裁剪。
在本发明实施例中,通过将显示图片构建两个显示图层,并且利用矩阵来对每一个层图进行对应表示;在对显示图片进行操作的时候,可以透明显示图层来进行相应的操作,与用户进行交互,并且在完成操作之后同步到正常显示图层进行显示,即可实现一步到位的把一个具有一定角度的图片在裁剪玩之后还保持原来的旋转角度,或者在校准后裁剪成任意需要显示的角度,不需要更多的步骤即可实现,具有良好的用户使用体验。
实施例
请参阅图2,图2是本发明实施例中的基于android系统实现对图片各个角度的裁剪装置的结构组成示意图。
如图2所示,一种基于android系统实现对图片各个角度的裁剪装置,所述装置包括:
构建模块21:基于android系统的view类在显示界面上的显示图片构建两个显示图层;
在本发明具体实施过程中,在运行android系统的智能终端上的屏幕进行图片显示的时候,通过android系统中自带的view类在智能终端的显示界面上对显示图片进行显示图层的构建,并且是构建两个显示图层,其中的一个显示图层为正常显示图层,另一个显示图层为透明显示图层;并且该正常显示图层用于正常的显示,并且用户可见,而透明显示图层在正常显示图层之上,并且为透明状态,在不操作时,为隐藏起来的透明图层,用于欺骗用户的眼睛,使得用户以为自己在操作正常显示图层中所显示的图片,或者在用户操作的时候使用。
对应表示模块22:基于显示屏幕的坐标原点利用矩阵将两个显示图层进行对应表示,获得透明显示图层对应矩阵及正常显示图层对应矩阵。
在本发明具体实施过程中,所述基于显示屏幕的坐标原点利用矩阵将两个显示图层进行对应表示,包括:基于显示屏幕上的左上角为坐标原点利用矩阵将两个显示图层进行对应表示。
具体的,在智能终端显示屏幕上,以显示屏幕上的左上角为坐标原点,构建成坐标系,然后利用矩阵的形式将两个显示图层进行对应表示,从而获得透明显示图层对应矩阵及正常显示图层对应矩阵;后续的所有操作均是基于这个坐标原点进行的,并且,透明显示图层对应矩阵和正常显示图层对应矩阵在无操作的情况下,是完全一致的,但是,透明显示图层对应矩阵用于管理透明显示图层,正常显示图层对应矩阵用于管理正常显示图层;这里假设透明显示图层为b图层,正常显示图层为a图层,则透明显示图层对应矩阵用代码matrixmmatrixb=newmatrix()表示,正常显示图层对应矩阵用代码matrixmmatrixa=newmatrix()表示。
作为模块23:用于在用户对显示图片进行裁剪操作时,将所述显示图片中的透明显示图层对应矩阵作为临时操作矩阵;
在本发明具体实施过程中,所述在用户对显示图片进行裁剪操作时,使用透明显示图层对应矩阵记录当前透明显示图层的位置及角度,使用正常显示图层对应矩阵记录当前正常显示图层的位置及角度。
具体的,在用户对显示图片进行裁剪操作的时候,首先需要使用透明显示图层对应矩阵记录当前透明显示图层的位置及角度,使用正常显示图层对应矩阵记录当前正常显示图层的位置及角度,并且所记载的图片的位置及角度是一致的,然后将智能终端屏幕上所显示的显示图片中的透明显示图层对应矩阵作为临时操作矩阵,及该透明显示图层对应矩阵可随着用户的操作而改变的矩阵。
生成模块24:用于基于所述透明显示图层对应矩阵生成对应的操作框;
在本发明具体实施过程中,所述基于所述透明显示图层对应矩阵生成对应的操作框,包括:基于所述透明显示图层对应矩阵的变化生成对应的操作框,并且将正常显示图层和透明显示图层同时在显示界面上显示。
具体的,根据透明显示图层对应矩阵的变化生成对应的操作框,该操作框为一个操作ui,用于接收用户的操作行为,并且将正常显示图层和透明显示图层同时在显示界面上显示。
绘制模块25:用于基于所述操作框接收用户的对显示图片的裁剪操作,并根据所述裁剪操作在所述透明显示图层中绘制相应的裁剪框;
在本发明具体实施过程中,在该操作框内接收用户对显示图片的裁剪操作,并形成相应的指令发送android系统,在android系统内根据该指令在透明显示图层中绘制相应的裁剪框。
导入模块26:用于基于所述裁剪框对显示图片进行裁剪,将裁剪后的显示图片导入透明显示图层对应矩阵,形成更新后的透明显示图层对应矩阵;
在本发明具体实施过程中,所述将裁剪后的显示图片导入透明显示图层对应矩阵,形成更新后的透明显示图层对应矩阵,包括:获得裁剪后的显示图片的基于显示屏幕上的左上角为坐标原点的裁剪后的显示图片的坐标信息;将裁剪后的显示图片的坐标信息基于显示屏幕上的左上角为坐标原点导入透明显示图层对应矩阵中进行矩阵运算,形成更新后的透明显示图层对应矩阵。
具体的,在该裁剪框内对显示图片进行裁剪,即按照裁剪框所规定的来进行裁剪,在裁剪之后,获得裁剪后的显示图片的在显示屏幕上的左上角为坐标原点的裁剪后的显示图片的坐标信息;将裁剪后的显示图片的坐标信息根据显示屏幕上的左上角为坐标原点导入透明显示图层对应矩阵中进行矩阵运算,形成更新后的透明显示图层对应矩阵;该矩阵运算为加减乘除运算,具体是根据图像的裁剪情况来进行矩阵运算。
同步模块27:用于将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步,并去除所述操作框;
在本发明具体实施过程中,所述将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步,包括:将更新后的透明显示图层对应矩阵基于android系统的api与正常显示图层对应矩阵进行同步。
具体的,在透明显示图层对应矩阵更新之后,根据android系统的api将更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进行同步;使得更新后的透明显示图层对应矩阵与正常显示图层对应矩阵进内所表示的内容完全相同,使得后续显示的时候,所显示的图片的位置和角度是一致的;在完成同步之后,并去除该操作框,方便后续同步显示,不被该操作框所遮挡相应的显示内容。
显示模块28:用于基于同步后的正常显示图层对应矩阵对裁剪后的显示图片进行同步显示。
在本发明具体实施过程中,在正常显示图层对应矩阵与更新后的透明显示图层对应矩阵同步之后,根据同步后的正常显示图层对应矩阵对裁剪后的显示图片进行同步显示,完成对图片的裁剪。
在本发明实施例中,通过将显示图片构建两个显示图层,并且利用矩阵来对每一个层图进行对应表示;在对显示图片进行操作的时候,可以透明显示图层来进行相应的操作,与用户进行交互,并且在完成操作之后同步到正常显示图层进行显示,即可实现一步到位的把一个具有一定角度的图片在裁剪玩之后还保持原来的旋转角度,或者在校准后裁剪成任意需要显示的角度,不需要更多的步骤即可实现,具有良好的用户使用体验。
本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例中任意一个实施例的裁剪方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明实施例还提供了一种计算机应用程序,其运行在计算机上,该计算机应用程序用于执行上述中任意一个实施例的裁剪方法。
此外,图3是本发明实施例中的终端设备的结构组成示意图。
本发明实施例还提供了一种终端设备,如图3所示。所述终端设备包括处理器302、存储器303、输入单元304以及显示单元305等器件。本领域技术人员可以理解,图3示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器303可用于存储应用程序301以及各功能模块,处理器302运行存储在存储器303的应用程序301,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、zip盘、u盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元304用于接收信号的输入,以及接收用户输入的关键字。输入单元304可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元305可用于显示用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元305可采用液晶显示器、有机发光二极管等形式。处理器302是终端设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器302内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
作为一个实施例,所述终端设备包括:一个或多个处理器302,存储器303,一个或多个应用程序301,其中所述一个或多个应用程序301被存储在存储器303中并被配置为由所述一个或多个处理器302执行,所述一个或多个应用程序301配置用于执行上述实施例中的任意一实施例中对的裁剪方法。
在本发明实施例中,通过将显示图片构建两个显示图层,并且利用矩阵来对每一个层图进行对应表示;在对显示图片进行操作的时候,可以透明显示图层来进行相应的操作,与用户进行交互,并且在完成操作之后同步到正常显示图层进行显示,即可实现一步到位的把一个具有一定角度的图片在裁剪玩之后还保持原来的旋转角度,或者在校准后裁剪成任意需要显示的角度,不需要更多的步骤即可实现,具有良好的用户使用体验。
另外,以上对本发明实施例所提供的一种基于android系统实现对图片各个角度的裁剪方法、装置、存储介质及终端进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。