图片处理方法与流程

文档序号:20922177发布日期:2020-05-29 14:17阅读:728来源:国知局
图片处理方法与流程

本发明涉及人工智能技术领域,尤其涉及一种图片处理方法。



背景技术:

在浏览图片的过程中,用户经常需要对图片进行缩放,以便观察图片细节。

相关技术中,通过点击特定按键实现图片的放大或缩小,但每次点击的过大,缩小倍数相同。



技术实现要素:

为了准确推荐,本申请实施例提出了一种图片处理方法。

为了达到上述目的,本发明采用的主要技术方案包括:

一种图片处理方法,所述方法包括:

在图片显示区域显示图片;

每当监测到缩放触发后,获取所述图片当前显示参数x,y,其中x为所述图片当前显示长度,y为所述图片当前显示宽度;获取图片显示区域的长度u和宽度v;根据x,y,u,v确定缩放系数,并根据所述缩放系数对当前显示的图片进行缩放处理。

可选地,所述根据x,y,u,v确定缩放系数,包括:

s201,计算值a1=u-x;

s202,计算值b1=v-y;

s203,计算值c1=a1/x,c2=a1/u;

s204,计算值d1=b1/y,d2=a1/v;

s205,根据c1,d1,c2,d2确定缩放系数。

可选地,所述s205包括:

若a1为负值,且b1非负值,则

确定cmax=-c1和-c2中的最大值;

确定dmax=d1和d2中的最大值;

根据x/y的值和cmax,dmax确定缩放系数。

可选地,所述根据x/y的值和cmax,dmax确定缩放系数,包括:

若x/y>1,则将cmax*v/u确定为缩放系数;

若x/y=1,则将cmax*dmax*v/u确定为缩放系数;

若x/y<1,则将dmax*v/u确定为缩放系数。

可选地,所述s205包括:

若a1为非负值,且b1为负值,则

确定c’max=c1和c2中的最大值;

确定d’max=-d1和-d2中的最大值;

根据x/y的值和c’max,d’max确定缩放系数。

可选地,所述根据x/y的值和c’max,d’max确定缩放系数,包括:

若x/y>1,则将dmax*u/v确定为缩放系数;

若x/y=1,则将cmax*dmax*u/v确定为缩放系数;

若x/y<1,则将cmax*u/v确定为缩放系数。

可选地,所述s205包括:

若a1和b1均为非负值,或者,若a1和b1均为负值,则

确定cmin=c1绝对值和c2绝对值中的最小值;

确定dmin=d1绝对值和d2绝对值中的最小值;

根据x/y的值和cmin,dmin确定缩放系数。

可选地,所述根据x/y的值和cmin,dmin确定缩放系数,包括:

若x/y>1,则若u/v>1,则将cmin和dmin中的最小值*u/v确定为缩放系数;若u/v=1,则将cmin*dmin确定为缩放系数;若u/v<1,则将cmin和dmin中的最小值*v/u确定为缩放系数;

若x/y=1,则将cmin和dmin中的最小值确定为缩放系数;

若x/y<1,则若u/v>1,则将cmin和dmin中的最小值*v/u确定为缩放系数;若u/v=1,则将cmin*dmin确定为缩放系数;若u/v<1,则将cmin和dmin中的最小值*u/v确定为缩放系数。

可选地,所述根据所述缩放系数对当前显示的图片进行缩放处理,包括:

若缩放触发为缩小触发,则对当前显示的图片缩小(1-0.2*缩放系数)倍处理;

若缩放触发为放大触发,则对当前显示的图片缩小(1+0.2*缩放系数)倍处理。

可选地,所述在图片显示区域显示图片之后,还包括:

获取到全屏触发后,以弹窗的形式全屏显示所述图片。

本发明的有益效果是:在图片显示区域显示图片后,每当监测到缩放触发,获取图片当前显示参数x,y;获取图片显示区域的长度u和宽度v;根据x,y,u,v确定缩放系数,并根据缩放系数对当前显示的图片进行缩放处理,进而能根据当前图片的大小动态调整每次缩放的比例,当图片大时缩放比例相对减少,当图片小时缩放比例相对较大,满足用户需求。

附图说明

下面将参照附图描述本申请的具体实施例,其中:

图1示出了本申请一实施例提供的一种图片处理方法的流程示意图;

图2示出了本申请一个实施例提供的一种图片处理方法的界面示意图。

图3示出了本申请一个实施例提供的一种全屏界面示意图。

具体实施方式

在浏览图片的过程中,用户经常需要对图片进行缩放,以便观察图片细节。

相关技术中,通过点击特定按键实现图片的放大或缩小,但每次点击的过大,缩小倍数相同。

然而,对于大图片和小图片,放大相同倍数后得到的图片效果却不相同。例如,1*1的图片,放大20%,变为1.2*1.2,本身1*1的图片就较小,放大后依然较小,细节不清,需要放大很多次才能看清。300*300的图片放大20%,变为360*360,本身300*300的图片较大,细节较多,放大到360*360后,会产生细节突变,用户会寻找不到其关心的细节,因此本提案提供一种方法,能根据当前图片的大小动态调整每次缩放的比例,当图片大时缩放比例相对减少,当图片小时缩放比例相对较大,满足用户需求。

具体的,如图1所示,本实施例提供的方法如下:

s101,在图片显示区域显示图片。

s102,每当监测到缩放触发后,获取图片当前显示参数x,y,获取图片显示区域的长度u和宽度v,根据x,y,u,v确定缩放系数,并根据缩放系数对当前显示的图片进行缩放处理。

其中x为图片当前显示长度,y为图片当前显示宽度。

具体的,根据x,y,u,v确定缩放系数,包括:

s201,计算值a1=u-x。

s202,计算值b1=v-y。

s203,计算值c1=a1/x,c2=a1/u。

s204,计算值d1=b1/y,d2=a1/v。

s205,根据c1,d1,c2,d2确定缩放系数。

在s205中,

1)若a1为负值,且b1非负值,则

确定cmax=-c1和-c2中的最大值。

确定dmax=d1和d2中的最大值。

根据x/y的值和cmax,dmax确定缩放系数。

如:若x/y>1,则将cmax*v/u确定为缩放系数。若x/y=1,则将cmax*dmax*v/u确定为缩放系数。若x/y<1,则将dmax*v/u确定为缩放系数。

此种情况中,a1为负值,且b1非负值表示图片高度已经超出显示区域但宽度未超出显示区域,如果x/y>1表示图片本身为横版图片,此时将cmax*v/u确定为缩放系数,如果x/y=1表示图片本身为正方形图片,此时将cmax*dmax*v/u确定为缩放系数,如果x/y<1表示图片本身为竖版图片,此时将dmax*v/u确定为缩放系数。

2)若a1为非负值,且b1为负值,则

确定c’max=c1和c2中的最大值。

确定d’max=-d1和-d2中的最大值。

根据x/y的值和c’max,d’max确定缩放系数。

如:若x/y>1,则将dmax*u/v确定为缩放系数。若x/y=1,则将cmax*dmax*u/v确定为缩放系数。若x/y<1,则将cmax*u/v确定为缩放系数。

此种情况中,a1为非负值,且b1为负值表示图片宽度已经超出显示区域但高度未超出显示区域,如果x/y>1,则表示图片本身为横版图片,此时将dmax*u/v确定为缩放系数,如果x/y=1,则表示图片本身为正方形图片,此时将cmax*dmax*u/v确定为缩放系数,如果x/y<1,则表示图片本身为竖版图片,此时将cmax*u/v确定为缩放系数。

3)若a1和b1均为非负值,或者,若a1和b1均为负值,则

确定cmin=c1绝对值和c2绝对值中的最小值。

确定dmin=d1绝对值和d2绝对值中的最小值。

根据x/y的值和cmin,dmin确定缩放系数。

如:若x/y>1,则若u/v>1,则将cmin和dmin中的最小值*u/v确定为缩放系数。若u/v=1,则将cmin*dmin确定为缩放系数。若u/v<1,则将cmin和dmin中的最小值*v/u确定为缩放系数。

若x/y=1,则将cmin和dmin中的最小值确定为缩放系数。

若x/y<1,则若u/v>1,则将cmin和dmin中的最小值*v/u确定为缩放系数。若u/v=1,则将cmin*dmin确定为缩放系数。若u/v<1,则将cmin和dmin中的最小值*u/v确定为缩放系数。

此种情况中,a1和b1均为非负值,或者,a1和b1均为负值,表示图片宽度和高度均未超出显示区域,或者图片宽度和高度均已超出显示区域,如果x/y>1表示图片本身为横版图片,此时若u/v>1,则说明图片显示区域也为横版,将cmin和dmin中的最小值*u/v确定为缩放系数;若u/v=1,则说明图片显示区域为正方区域,将cmin*dmin确定为缩放系数;若u/v<1,则说明图片显示区域为竖版,将cmin和dmin中的最小值*v/u确定为缩放系数。如果x/y=1表示图片本身为正方图片,则将cmin和dmin中的最小值确定为缩放系数。如果x/y<1,则表示图片本身为竖版图片,此时如果u/v>1,则说明图片显示区域也为横版,将cmin和dmin中的最小值*v/u确定为缩放系数;若u/v=1,则说明图片显示区域为正方区域,将cmin*dmin确定为缩放系数;若u/v<1,则说明图片显示区域为竖版,将cmin和dmin中的最小值*u/v确定为缩放系数。

缩放系数是根据图片当前的大小,图片与图片显示区域之间的关系,以及图片,图片显示区域的横纵比例动态获得的,可以较佳的对固定的缩放比例进行调整。

另外,根据缩放系数对当前显示的图片进行缩放处理时,若缩放触发为缩小触发,则对当前显示的图片缩小(1-0.2*缩放系数)倍处理。若缩放触发为放大触发,则对当前显示的图片缩小(1+0.2*缩放系数)倍处理。

即不再缩放固定倍数,而是缩放0.2*缩放系数倍数。

另外在执行s101之后,还会获取到全屏触发后,以弹窗的形式全屏显示图片。

此外,在执行s101时,若图片数量m大于1时,显示翻页按钮控件,查看器获取总数量m及当前页数x,并显示在控件右下方。如图2所示。

通过本实施例提供的方法,可以图片处理格式为jpeg、png、pdf等多种图片。

此外,在缩放时,每次点击均缩放0.2*缩放系数,最大放大原始尺寸的300%,最小缩小原始尺寸的20%。

当缩放触发后(如点击放大/缩小按钮),简易提示当前图片的倍数。当图片放大超过屏幕显示区域时,出现横向及竖向滚动条。点击滚动条按钮,图片对应滚动v像素。且支持触屏拖拽操作。

此外,全屏图片方式查看图片时,以弹窗的形式,覆盖在原有页面上方,如图3所示。

本实施例提供的方法,在图片显示区域显示图片后,每当监测到缩放触发,获取图片当前显示参数x,y;获取图片显示区域的长度u和宽度v;根据x,y,u,v确定缩放系数,并根据缩放系数对当前显示的图片进行缩放处理,进而能根据当前图片的大小动态调整每次缩放的比例,当图片大时缩放比例相对减少,当图片小时缩放比例相对较大,满足用户需求。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1