[发明专利]一种图片裁剪的方法及终端有效
申请号: | 201810435977.4 | 申请日: | 2018-05-09 |
公开(公告)号: | CN110471720A | 公开(公告)日: | 2019-11-19 |
发明(设计)人: | 刘德建;郭孟祺;颜志炜;郭玉湖 | 申请(专利权)人: | 福建天泉教育科技有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 35214 福州市博深专利事务所(普通合伙) | 代理人: | 林志峥<国际申请>=<国际公布>=<进入 |
地址: | 350212 福建省福州市长乐*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 裁剪 图片裁剪 第一线 线程 图片 多核CPU 多线程 存储 终端 创建 | ||
本发明提供的一种图片裁剪的方法及终端,通过在获取需要裁剪的第一图片后,先在第一线程判断本地存储中是否存在对应的裁剪后的第二图片,若存在,则显示所述第二图片,从而减少了图片裁剪的次数,减少了不必要的开销;若不存在,则创建第二线程,在第二线程对所述第一图片进行裁剪,得到裁剪后的第三图片,并在第一线程显示所述第三图片,利用多核CPU的多线程的特性,将图片裁剪从第一线程转移到第二线程,减少了第一线程的压力,可防止出现UI卡顿。
技术领域
本发明涉及互联网技术领域,特别涉及一种图片裁剪的方法及终端。
背景技术
在移动应用中存在大量的列表展示的场景,列表需要展示被裁剪的图片,若在列表滑动的过程中对大量的图片进行裁剪会造成UI的卡顿。
以iOS开发为例,现有的图片裁剪方法主要有两种:
一种是使用UIView类中layer的属性的setCornerRadius来设置裁剪半径,并通过将setMasksToBounds的属性设为YES来设置遮罩;另一种是使用UIView类的drawRect方法进行绘制。
但是现有的图片裁剪方法,存在以下缺点:
1.使用layer属性的相关方法会造成离屏渲染的问题,导致UI的卡顿。
2.使用UIView类的drawRect方法进行绘制会占用主线程,且每次都需要对图片进行裁剪,从而造成UI的卡顿。
发明内容
本发明所要解决的技术问题是:提供一种防止UI卡顿的图片裁剪的方法及终端。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种图片裁剪的方法,包括步骤:
S1、获取需要裁剪的第一图片;
S2、在第一线程根据所述第一图片判断本地存储中是否存在对应的裁剪后的第二图片,若是,则显示所述第二图片,否则,创建第二线程,在第二线程对所述第一图片进行裁剪,得到裁剪后的第三图片,并在第一线程显示所述第三图片。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种图片裁剪的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
S1、获取需要裁剪的第一图片;
S2、在第一线程根据所述第一图片判断本地存储中是否存在对应的裁剪后的第二图片,若是,则显示所述第二图片,否则,创建第二线程,在第二线程对所述第一图片进行裁剪,得到裁剪后的第三图片,并在第一线程显示所述第三图片。
本发明的有益效果在于:通过在获取需要裁剪的第一图片后,先在第一线程判断本地存储中是否存在对应的裁剪后的第二图片,若存在,则显示所述第二图片,从而减少了图片裁剪的次数,减少了不必要的开销;若不存在,则创建第二线程,在第二线程对所述第一图片进行裁剪,得到裁剪后的第三图片,并在第一线程显示所述第三图片,利用多核CPU的多线程的特性,将图片裁剪从第一线程转移到第二线程,减少了第一线程的压力,可防止出现UI卡顿。
附图说明
图1为本发明实施例的图片裁剪的方法的步骤流程图;
图2为本发明实施例的图片裁剪的终端的结构示意图;
标号说明:
1、图片裁剪的终端; 2、存储器; 3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天泉教育科技有限公司,未经福建天泉教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810435977.4/2.html,转载请声明来源钻瓜专利网。