图片检测方法、装置、计算机设备及存储介质与流程

文档序号:31568607发布日期:2022-09-20 21:33阅读:57来源:国知局
图片检测方法、装置、计算机设备及存储介质与流程

1.本技术涉及计算机技术领域,具体涉及一种图片检测方法、装置、计算机设备及存储介质。


背景技术:

2.在ios(终端操作系统)平台,通常使用webimageview网络图片控件,通过设置url(uniform resource locator,统一资源定位符)的形式,调用下载组件下载网络图片数据。在下载完成后,通过调用uiimageview的setimage方法,将图片数据转换为image对象,设置到图片控件解码并渲染,并在视图中进行显示。
3.相关技术中,通过将下载的图片加载至图片控件进行显示,但是,下载的图片可能存在与图片控件尺寸不符,则需要对图片重新进行处理,以使得图片尺寸符合图片控件尺寸,增加图片加载时间,从而影响图片加载效率。


技术实现要素:

4.本技术实施例提供一种图片检测方法、装置、计算机设备及存储介质,可以提高图片控件的图片设置效率。
5.本技术实施例提供了一种图片检测方法,所述方法包括:
6.当检测到为目标图片控件设置通过所述目标图片控件显示的目标图片时,获取所述目标图片的初始图片尺寸;
7.获取所述目标图片控件的显示尺寸,并根据所述显示尺寸确定所述目标图片控件显示所述目标图片需满足的目标尺寸范围;
8.若所述初始图片尺寸不满足所述目标尺寸范围,则生成所述目标图片控件的告警信息,所述告警信息用于指示所述目标图片的初始图片尺寸不满足所述目标尺寸范围。
9.相应的,本技术实施例还提供了一种图片检测装置,所述装置包括:
10.获取单元,用于当检测到为目标图片控件设置通过所述目标图片控件显示的目标图片时,获取所述目标图片的初始图片尺寸;
11.确定单元,用于获取所述目标图片控件的显示尺寸,并根据所述显示尺寸确定所述目标图片控件显示所述目标图片需满足的目标尺寸范围;
12.生成单元,用于若所述初始图片尺寸不满足所述目标尺寸范围,则生成所述目标图片控件的告警信息,所述告警信息用于指示所述目标图片的初始图片尺寸不满足所述目标尺寸范围。
13.在一些实施例中,获取单元包括:
14.第一获取子单元,用于当检测到调用所述目标图片控件的图片加载方法时,触发钩子函数获取所述目标图片的初始图片尺寸,其中,所述图片加载方法用于将所述目标图片加载至所述目标图片控件进行显示。
15.在一些实施例中,确定单元包括:
16.第二获取子单元,用于获取所述目标图片控件所属屏幕对象的缩放参数;
17.计算子单元,用于计算所述显示尺寸与所述缩放参数的乘值,得到所述目标图片控件在所述屏幕对象中的缩放后尺寸;
18.第一确定子单元,用于基于所述缩放后尺寸确定所述目标尺寸范围。
19.在一些实施例中,第一确定子单元具体用于:
20.根据所述缩放后尺寸与第一比例系数确定第一图片尺寸;
21.根据所述缩放后尺寸与第二比例系数确定第二图片尺寸;
22.基于所述第一图片尺寸与所述第二图片尺寸确定所述目标尺寸范围。
23.在一些实施例中,生成单元包括:
24.定位子单元,用于从项目代码中定位所述目标图片控件对应的目标代码;
25.生成子单元,用于根据所述目标代码、所述初始图片尺寸以及所述目标尺寸范围生成告警内容,得到所述告警信息。
26.在一些实施例中,该装置还包括:
27.标记单元,用于对所述告警内容进行标记;
28.第一显示单元,用于通过运行所述项目代码的程序控制台显示标识后的告警内容。
29.在一些实施例中,生成单元包括:
30.调整子单元,用于对所述目标图片控件的显示属性进行调整;
31.第二确定子单元,用于基于调整后的目标图片控件得到所述告警信息。
32.在一些实施例中,调整子单元具体用于:
33.将所述背景颜色调整为指定颜色。
34.在一些实施例中,调整子单元具体用于:
35.将所述显示图案调整为指定图案。
36.在一些实施例中,该装置还包括:
37.第二显示单元,用于通过程序控制台的预览区域显示所述调整后的目标图片控件,其中,所述程序控制台用于运行包含所述目标图片控件的项目代码,所述预览区域用于显示所述目标图片控件的显示内容。
38.相应的,本技术实施例还提供了一种计算机设备,包括存储器,处理器及存储在储存器上并可在处理器上运行的计算机程序,其中,处理器执行本技术实施例任一提供的图片检测方法。
39.相应的,本技术实施例还提供了一种存储介质,存储介质存储有多条指令,指令适于处理器进行加载,以执行如上的图片检测方法。
40.本技术实施例通过对图片控件的图片设置方法进行hook,当图片控件触发图片设置方法时,识别图片控件大小与图片控件加载的图片的尺寸大小并进行比较,当确定图片的尺寸不符合图片控件的尺寸时,生成告警信息,对于图片控件设置图片进行告警,同时打印出对应图片控件所在业务代码,方便开发人员准确了解到图片控件加载的图片尺寸信息,并根据告警信息对图片控件进行图片设置,无需重复加载图片进行处理,可以提高图片控件的图片设置效率。
附图说明
41.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为本技术实施例提供的一种图片检测方法的流程示意图。
43.图2为本技术实施例提供的一种图片检测装置的结构框图
44.图3为本技术实施例提供的计算机设备的结构示意图。
具体实施方式
45.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
46.本技术实施例提供一种图片检测方法、装置、存储介质及计算机设备。具体地,本技术实施例的图片检测方法可以由计算机设备执行,其中,该计算机设备可以为服务器等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
47.例如,该计算机设备可以是终端,该终端当检测到为目标图片控件设置通过目标图片控件显示的目标图片时,获取目标图片的初始图片尺寸;获取目标图片控件的显示尺寸,并根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围;若初始图片尺寸不满足目标尺寸范围,则生成目标图片控件的告警信息,告警信息用于指示目标图片的初始图片尺寸不满足目标尺寸范围。
48.基于上述问题,本技术实施例提供一种图片检测方法、装置、计算机设备及存储介质,可以提高图片控件的图片设置效率。
49.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
50.本技术实施例提供一种图片检测方法,该方法可以由终端或服务器执行,本技术实施例以图片检测方法由终端执行为例来进行说明,该终端可以为主播客户端。
51.请参阅图1,图1为本技术实施例提供的一种图片检测方法的流程示意图。该图片检测方法的具体流程可以如下:
52.101、当检测到为目标图片控件设置通过目标图片控件显示的目标图片时,获取目标图片的初始图片尺寸。
53.在本技术实施例中,图片控件也即uiimageview,uiimageview是ui(user interface,用户界面)控件,具体指的是图像的视图对象提供的一个用于显示单个图像或者一系列动画图像的基于视图的容器。uiimageview中有一个uiimage类型的属性:image,可以用来存放需要显示的图片。
54.其中,目标图片控件指的是当前进行图片设置的图片控件,目标图片也即为目标图片控件设置的显示图片。
55.其中,目标图片的获取方式包括多种,比如,目标图片可以通过网络下载,或者从终端本地图库中获取。目标图片的初始尺寸指的是获取目标图片时的原始尺寸。
56.例如,目标图片可以为网络图片,初始图片尺寸则为该网络图片的原始尺寸,如60x60pixels(像素)。
57.相关技术中,为ui项目中的图片控件设置显示图片时,利用获取的图片的原始尺寸,导致图片原始尺寸与图片控件的显示尺寸差异过大,若图片原始尺寸远远超出图片控件所需的像素大小,则会造成资源的浪费;若图片原始尺寸小于图片控件所需的像素大小,使得图片显示不够清晰,影响用户体验。因此,本方案设计一种图片检测方法,当检测到图片控件进行图片设置时,触发进行图片尺寸检测,从而输出检测结果,以使开发人员可以根据检测结果进行图片设置。
58.在一些实施例中,为了保证图片控件的其他方法的正常运行,步骤“当检测到为目标图片控件设置目标图片控件中显示的目标图片时,获取目标图片的初始图片尺寸”,可以包括以下操作:
59.当检测到调用目标图片控件的图片加载方法时,触发钩子函数获取目标图片的初始图片尺寸。
60.其中,图片加载方法指的是uiimageview的load方法,load方法用于将目标图片加载至目标图片控件进行显示。
61.其中,钩子函数也即hook。hook技术指的是,在系统没有调用函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。
62.在本技术实施例中,在为图片控件设置图片时,使用hook技术,对图片控件的设置图片方法,也即uiimageview的setimage方法进行hook。
63.具体的,使用自动的加载机制,在+load()方法中触发hook,无需对项目代码调用,其实现代码如下:
64.+(void)load{
65.[[self class]gl_swizzleselector:@selector(setimage:)withswizzledselector:e@selector(gl_setimage:)1。
[0066]
在一些实施例中,为了避免对图片控件线上运行产生影响,将代码置于debug宏下,仅对开发阶段起作用,其实现如下:
[0067]
#ifdef debug
[0068]
#import《uikit/uikit.h》
[0069]
ns_assume_nonnull_begin
[0070]
@interface uiimageview(specification)
[0071]
@end
[0072]
@ns_assume_nonnull_end
[0073]
#endif
[0074]
其中,获取目标图片的初始图片尺寸可以通过检查image的size得到图片的像素
大小,其实现代码如下:
[0075]
cgfloat imagewidth=image.size.width;
[0076]
cgfloat imageheight=image.size.height。
[0077]
102、获取目标图片控件的显示尺寸,并根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围。
[0078]
其中,目标图片控件的显示尺寸指的是图片控件在ui视图中进行显示时的尺寸。
[0079]
在一些实施例中,为了保证目标图片控件的显示尺寸满足显示屏幕的显示参数,步骤“根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围”,可以包括以下操作:
[0080]
获取目标图片控件所属屏幕对象的缩放参数;
[0081]
计算显示尺寸与缩放参数的乘值,得到目标图片控件在屏幕对象中的缩放后尺寸;
[0082]
基于缩放后尺寸确定目标尺寸范围。
[0083]
其中,屏幕对象指的是uiscreen,uiscreen对象定义了一种基于硬件的显示相关的属性,uiscreen对象可以充当终端设备物理屏幕的替代者(相当于屏幕)。使用这个类来获得每个显示器设备的屏幕对象,每个屏幕对象中包含了一些屏幕相关的属性。缩放参数也即scale属性。
[0084]
具体的,通过将目标图片控件的显示尺寸乘上屏幕对象的缩放参数,可以得到目标图片控件在屏幕对象中需要的尺寸,也即缩放后尺寸,其实现代码可以如下:
[0085]
cgf1oat scale=uiscreen.mainscreen.scale;
[0086]
cgfloat targetimagewidth=self.size.width*scale;
[0087]
cgfloat targetimageheight=self.size.height*scale。
[0088]
其中,目标尺寸范围指的是基于目标图片控件的缩放后尺寸设置的目标图片控件支持的图片尺寸范围。
[0089]
在一些实施例中,为了提高图片检测效率,步骤“基于缩放后尺寸确定目标尺寸范围”,可以包括以下操作:
[0090]
根据缩放后尺寸与第一比例系数确定第一图片尺寸;
[0091]
根据缩放后尺寸与第二比例系数确定第二图片尺寸;
[0092]
基于第一图片尺寸与第二图片尺寸确定目标尺寸范围。
[0093]
具体的,通过第一比例系数与缩放后尺寸确定第一图片尺寸,可以作为目标尺寸范围的最大值,通过第二比例系数与缩放后尺寸确定第二图片尺寸,可以作为目标尺寸范围的最大值,最后,根据第一图片尺寸与第二图片尺寸之间的尺寸得到目标尺寸范围。
[0094]
例如,第一比例系数可以为:2,第二比例系数可以为0.5,将缩放后尺寸乘以第一比例系数,得到第一图片尺寸,以及将缩放后尺寸乘以第二比例系数,得到第二图片尺寸,最后确定目标尺寸范围为:第二图片尺寸~第一图片尺寸。
[0095]
其中,目标尺寸范围的实现代码可以如下:
[0096]
//不能超过kceilingfactor倍,会下载缓慢、占用高内存、消耗
[0097]
cpu&gpustatic const cgfloat kceilingfactor=2.8;
[0098]
//也不能小于kfloorfactor倍,会不清晰
[0099]
static const cgfloat kfloorfactor=0.5。
[0100]
进一步的,在确定目标尺寸范围后,可以对目标图片的初始图片尺寸进行检测,也即将初始图片尺寸与目标尺寸范围进行匹配,其实现代码可以如下:
[0101][0102][0103]
103、若初始图片尺寸不满足目标尺寸范围,则生成目标图片控件的告警信息。
[0104]
通过将目标图片的初始图片尺寸与目标尺寸范围进行匹配,若初始图片尺寸属于目标尺寸范围区间,也即满足目标尺寸范围,则可以直接通过目标图片控件显示初始图片尺寸的目标图片;若初始图片尺寸不属于目标尺寸范围区间,也即不满足目标尺寸范围,则可以生成告警信息。
[0105]
其中,告警信息用于指示目标图片的初始图片尺寸不满足目标尺寸范围。基于该告警信息,开发人员可以对目标图片的尺寸进行调整,以满足目标图片控件支持显示的图片尺寸。
[0106]
在一些实施例中,为了方便开发人员查看图片检测结果,步骤“生成目标图片控件的告警信息”,可以包括以下操作:
[0107]
从项目代码中定位目标图片控件对应的目标代码;
[0108]
根据目标代码、初始图片尺寸以及目标尺寸范围生成告警内容,得到告警信息。
[0109]
其中,项目代码指的是包括目标图片控件的ui项目的源代码,当目标图片控件需要设置的目标图片的初始图片尺寸不满足目标尺寸范围时,可以确定该目标图片控件为出现问题的图片控件,然后从项目代码中定位该目标图片控件,以获取目标图片控件对应的代码,也即目标代码。
[0110]
在本技术实施例中,在定位出现问题的图片控件时,由于图片控件的尺寸跟图片链接由该图片控件的父视图决定,则可以通过递归检测n次(根据测试经验,n《4)当前控件的父控件,获取一个包含项目前缀,如:@“gl”的控件子类,即可以定位到问题控件对应的代码,同时对相同的控件进行去重,以免列表项重复记录,其实现代码可以如下:
[0111]-(nsstring*)gl_checksuperview:(nsstring*)prefix{
[0112]
if(prefix.length==0){
[0113]
return@"";
[0114]
}
[0115]
uiview*targetview=self;
[0116]
nsstring*classname=@"";
[0117]
for(int i=e;i《4;i++){
[0118]
targetview=targetview.superview;
[0119]
classname=nsstringfromclass(targetview.class);
[0120]
if(!targetview){
[0121]
return@"";
[0122]
}
[0123]
if([classname hasprefix:@"gl"]){
[0124]
return classname;}
[0125]
}
[0126]
return@"";}
[0127]
进一步的,在获取到目标代码后,可以根据目标代码、初始图片尺寸以及目标尺寸范围得到告警内容,其实现如下:
[0128]
nslog(@"uiimageview+specification
‑‑
图片像素:(%.0fx%.0f)
‑‑
view需要像素:(%.0fx%.0f),inglview:%@",imagewidth,imageheight,targetimagewidth,targetimageheight,classname.length》0?classname:@"not found a glview")。
[0129]
在一些实施例中,为了使得开发人员快速了解图片检测结果,在步骤“生成目标图片控件的告警信息”之后,还可以包括以下步骤:
[0130]
对告警内容进行标记;
[0131]
通过运行项目代码的程序控制台显示标识后的告警内容。
[0132]
在本技术实施例中,将uiimageview+specification扩展类引入到项目中,通过运行项目,自动执行图片检测,当检测到图片尺寸不符合目标尺寸范围时,可以通过运行项目代码的程序控制台显示标识后的告警内容,其实现如下:
[0133]
2022-02-2314:30:57.746867+xxx[121265:3686858]uiimageview+specification
‑‑
[0134]
图片像素:(1920x1040)
‑‑
view需要像素:(768x378),inglview:xxx view
[0135]
2022-02-2314:30:59.920847+xxx[21265:3686858]uiimageview+specification
‑‑
[0136]
图片像素:(935x935)
‑‑
view需要像素:(32x32),inglview:xxx view
[0137]
2022-02-23 14:31:01.210468+xxx[21265:3686858]uiimageview+specification
‑‑
[0138]
图片像素:(241x240)
‑‑
view需要像素:(101x101),inglview:xxx view
[0139]
2022-02-23 14:33:44.160821+xxx[21265:3686858]
[0140]
uiimageview+specification
‑‑
[0141]
图片像素:(2000x2000)
‑‑
view需要像素:(176x112),inglview:xxx view
[0142]
2022-02-23 14:33:50.713445+xxx[21265:3686858]
[0143]
uiimageview+specification
‑‑
[0144]
图片像素:(42x42)
‑‑
view需要像素:(180x180),inglview:xxx view。
[0145]
其中,“图片像素:(935x935)
‑‑
view需要像素:(32x32)”,以及“图片像素:(2000x2000)
‑‑
view需要像素:(176x112)”表示使用原图设置小图片控件的告警示例。
[0146]
在本技术实施例中,告警方式可以包括多种,除了上述通过控制台输出告警内容
的方式,还可以通过更改图片控件的其他属性。
[0147]
在一些实施例中,步骤“生成目标图片控件的告警信息”,可以包括以下操作:
[0148]
对目标图片控件的显示属性进行调整;
[0149]
基于调整后的目标图片控件得到告警信息。
[0150]
具体的,当运行包括目标图片控件的项目代码时,可以在控制台显示目标图片控件的内容,当目标图片控件出现问题时,可以通过调整目标图片控件的显示属性,基于调整显示属性后的目标图片控件得到告警信息。
[0151]
在一些实施例中,显示属性可以为背景颜色,则步骤“对目标图片控件的显示属性进行调整”,可以包括以下操作:
[0152]
将背景颜色调整为指定颜色。
[0153]
例如,指定颜色可以为:红色,则可以将目标图片控件的背景颜色设置为红色,从而得到告警信息。
[0154]
在一些实施例中,显示属性还可以为显示图案,则步骤“对目标图片控件的显示属性进行调整”,可以包括以下操作:
[0155]
将显示图案调整为指定图案。
[0156]
例如,例如,指定图案可以为:圆形图案,则可以将目标图片控件的显示图案设置为圆形图案,从而得到告警信息。
[0157]
在一些实施例中,当调整目标图片控件的显示属性,基于调整显示属性后的目标图片控件得到告警信息后,为了方便开发人员了解图片检测结果,在步骤“生成目标图片控件的告警信息”之后,还可以包括以下步骤:
[0158]
通过程序控制台的预览区域显示调整后的目标图片控件。
[0159]
其中,程序控制台用于运行包含目标图片控件的项目代码,预览区域用于显示目标图片控件的显示内容。
[0160]
在一些实施例中,当显示目标图片的初始图片尺寸的告警信息后,开发人员可以根据告警信息重新生成目标图片的图片参数。具体的,通过拼接网络图片参数,生成带有图片目标尺寸的网络图片链接,其实现如下:
[0161]-(nsstring*)thumbnailimageurlwithsize:(ccsize)size{
[0162]
if(size.width==0||size.height==0){
[0163]
return self.icon;
[0164]
}
[0165]
nsstring*url=[self.icon stringbyappendingstring:[nsstring
[0166]
stringwithformat:
[0167]
@"?imageview&thumbnail=%1dz%1d&tostatic=0&type=webp",
[0168]
(1ong)(size.width*[uiscreen
[0169]
mainscreen].scale),
[0170]
(long)(size.height*[uiscreen mainscreen].scale)]]
[0171]
return url;
[0172]
}。
[0173]
本技术方案中,经过对告警控件使用图片链接参数进行尺寸修正,在列表图片加
载速度、滚动流畅性、cpu(central processing unit,中央处理器)、gpu(graphics processing unit,图形处理器)以及电量、流量使用率都得到了不同程度的性能提升,
[0174]
本技术实施例公开了一种图片检测方法,该方法包括:当检测到为目标图片控件设置通过目标图片控件显示的目标图片时,获取目标图片的初始图片尺寸;获取目标图片控件的显示尺寸,并根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围;若初始图片尺寸不满足目标尺寸范围,则生成目标图片控件的告警信息,告警信息用于指示目标图片的初始图片尺寸不满足目标尺寸范围。以此,可以提高图片控件的图片设置效率。
[0175]
为便于更好的实施本技术实施例提供的图片检测方法,本技术实施例还提供一种基于上述图片检测方法的图片检测装置。其中名词的含义与上述图片检测方法中相同,具体实现细节可以参考方法实施例中的说明。
[0176]
请参阅图2,图2为本技术实施例提供的另一种图片检测装置的结构框图,该装置包括:
[0177]
获取单元301,用于当检测到为目标图片控件设置通过所述目标图片控件显示的目标图片时,获取所述目标图片的初始图片尺寸;
[0178]
确定单元302,用于获取所述目标图片控件的显示尺寸,并根据所述显示尺寸确定所述目标图片控件显示所述目标图片需满足的目标尺寸范围;
[0179]
生成单元303,用于若所述初始图片尺寸不满足所述目标尺寸范围,则生成所述目标图片控件的告警信息,所述告警信息用于指示所述目标图片的初始图片尺寸不满足所述目标尺寸范围。
[0180]
在一些实施例中,获取单元301可以包括:
[0181]
第一获取子单元,用于当检测到调用所述目标图片控件的图片加载方法时,触发钩子函数获取所述目标图片的初始图片尺寸,其中,所述图片加载方法用于将所述目标图片加载至所述目标图片控件进行显示。
[0182]
在一些实施例中,确定单元302可以包括:
[0183]
第二获取子单元,用于获取所述目标图片控件所属屏幕对象的缩放参数;
[0184]
计算子单元,用于计算所述显示尺寸与所述缩放参数的乘值,得到所述目标图片控件在所述屏幕对象中的缩放后尺寸;
[0185]
第一确定子单元,用于基于所述缩放后尺寸确定所述目标尺寸范围。
[0186]
在一些实施例中,第一确定子单元具体可以用于:
[0187]
根据所述缩放后尺寸与第一比例系数确定第一图片尺寸;
[0188]
根据所述缩放后尺寸与第二比例系数确定第二图片尺寸;
[0189]
基于所述第一图片尺寸与所述第二图片尺寸确定所述目标尺寸范围。
[0190]
在一些实施例中,生成单元303可以包括:
[0191]
定位子单元,用于从项目代码中定位所述目标图片控件对应的目标代码;
[0192]
生成子单元,用于根据所述目标代码、所述初始图片尺寸以及所述目标尺寸范围生成告警内容,得到所述告警信息。
[0193]
在一些实施例中,该装置还可以包括:
[0194]
标记单元,用于对所述告警内容进行标记;
[0195]
第一显示单元,用于通过运行所述项目代码的程序控制台显示标识后的告警内容。
[0196]
在一些实施例中,生成单元303可以包括:
[0197]
调整子单元,用于对所述目标图片控件的显示属性进行调整;
[0198]
第二确定子单元,用于基于调整后的目标图片控件得到所述告警信息。
[0199]
在一些实施例中,调整子单元具体可以用于:
[0200]
将所述背景颜色调整为指定颜色。
[0201]
在一些实施例中,调整子单元具体可以用于:
[0202]
将所述显示图案调整为指定图案。
[0203]
在一些实施例中,该装置还可以包括:
[0204]
第二显示单元,用于通过程序控制台的预览区域显示所述调整后的目标图片控件,其中,所述程序控制台用于运行包含所述目标图片控件的项目代码,所述预览区域用于显示所述目标图片控件的显示内容。
[0205]
本技术实施例公开了一种图片检测装置,通过获取单元301当检测到为目标图片控件设置通过所述目标图片控件显示的目标图片时,获取所述目标图片的初始图片尺寸,确定单元302获取所述目标图片控件的显示尺寸,并根据所述显示尺寸确定所述目标图片控件显示所述目标图片需满足的目标尺寸范围,生成单元303若所述初始图片尺寸不满足所述目标尺寸范围,则生成所述目标图片控件的告警信息,所述告警信息用于指示所述目标图片的初始图片尺寸不满足所述目标尺寸范围。以此,可以提高图片控件的图片设置效率。
[0206]
相应的,本技术实施例还提供一种计算机设备,该计算机设备可以为服务器。如图3所示,图3为本技术实施例提供的计算机设备的结构示意图。该计算机设备600包括有一个或者一个以上处理核心的处理器601、有一个或一个以上计算机可读存储介质的存储器602及存储在存储器602上并可在处理器上运行的计算机程序。其中,处理器601与存储器602电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0207]
处理器601是计算机设备600的控制中心,利用各种接口和线路连接整个计算机设备600的各个部分,通过运行或加载存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备600的各种功能和处理数据,从而对计算机设备600进行整体监控。
[0208]
在本技术实施例中,计算机设备600中的处理器601会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能:
[0209]
当检测到为目标图片控件设置通过目标图片控件显示的目标图片时,获取目标图片的初始图片尺寸;
[0210]
获取目标图片控件的显示尺寸,并根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围;
[0211]
若初始图片尺寸不满足目标尺寸范围,则生成目标图片控件的告警信息,告警信息用于指示目标图片的初始图片尺寸不满足目标尺寸范围。
[0212]
在一些实施例中,当检测到为目标图片控件设置目标图片控件中显示的目标图片时,获取目标图片的初始图片尺寸,包括:
[0213]
当检测到调用目标图片控件的图片加载方法时,触发钩子函数获取目标图片的初始图片尺寸,其中,图片加载方法用于将目标图片加载至目标图片控件进行显示。
[0214]
在一些实施例中,根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围,包括:
[0215]
获取目标图片控件所属屏幕对象的缩放参数;
[0216]
计算显示尺寸与缩放参数的乘值,得到目标图片控件在屏幕对象中的缩放后尺寸;
[0217]
基于缩放后尺寸确定目标尺寸范围。
[0218]
在一些实施例中,基于缩放后尺寸确定目标尺寸范围,包括:
[0219]
根据缩放后尺寸与第一比例系数确定第一图片尺寸;
[0220]
根据缩放后尺寸与第二比例系数确定第二图片尺寸;
[0221]
基于第一图片尺寸与第二图片尺寸确定目标尺寸范围。
[0222]
在一些实施例中,生成目标图片控件的告警信息,包括:
[0223]
从项目代码中定位目标图片控件对应的目标代码;
[0224]
根据目标代码、初始图片尺寸以及目标尺寸范围生成告警内容,得到告警信息。
[0225]
在一些实施例中,在生成目标图片控件的告警信息之后,还包括:
[0226]
对告警内容进行标记;
[0227]
通过运行项目代码的程序控制台显示标识后的告警内容。
[0228]
在一些实施例中,生成目标图片控件的告警信息,包括:
[0229]
对目标图片控件的显示属性进行调整;
[0230]
基于调整后的目标图片控件得到告警信息。
[0231]
在一些实施例中,显示属性包括背景颜色;
[0232]
对目标图片控件的显示属性进行调整,包括:
[0233]
将背景颜色调整为指定颜色。
[0234]
在一些实施例中,显示属性包括显示图案;
[0235]
对目标图片控件的显示属性进行调整,包括:
[0236]
将显示图案调整为指定图案。
[0237]
在一些实施例中,在生成目标图片控件的告警信息之后,还包括:
[0238]
通过程序控制台的预览区域显示调整后的目标图片控件,其中,程序控制台用于运行包含目标图片控件的项目代码,预览区域用于显示目标图片控件的显示内容。
[0239]
本方案通过对图片控件的图片设置方法进行hook,当图片控件触发图片设置方法时,识别图片控件大小与图片控件加载的图片的尺寸大小并进行比较,当确定图片的尺寸不符合图片控件的尺寸时,生成告警信息,对于图片控件设置图片进行告警,同时打印出对应图片控件所在业务代码,方便开发人员准确了解到图片控件加载的图片尺寸信息,并根据告警信息对图片控件进行图片设置,无需重复加载图片进行处理,可以提高图片控件的图片设置效率。
[0240]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0241]
可选的,如图3所示,计算机设备600还包括:触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607。其中,处理器601分别与触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607电性连接。本领域技术人员可以理解,图3中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0242]
触控显示屏603可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏603可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的消息或提供给用户的消息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light-emitting diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸消息,并将它转换成触点坐标,再送给处理器601,并能接收处理器601发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器601以确定触摸事件的类型,随后处理器601根据触摸事件的类型在显示面板上提供相应的视觉输出。在本技术实施例中,可以将触控面板与显示面板集成到触控显示屏603而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏603也可以作为输入单元606的一部分实现输入功能。
[0243]
在本技术实施例中,通过处理器601执行游戏应用程序在触控显示屏603上生成图形用户界面,图形用户界面上的虚拟场景中包含至少一个技能控制区域,技能控制区域中包含至少一个技能控件。该触控显示屏603用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。
[0244]
射频电路604可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
[0245]
音频电路605可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路605可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路605接收后转换为音频数据,再将音频数据输出处理器601处理后,经射频电路604以发送给比如另一计算机设备,或者将音频数据输出至存储器602以便进一步处理。音频电路605还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
[0246]
输入单元606可用于接收输入的数字、字符消息或用户特征消息(例如指纹、虹膜、面部消息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0247]
电源607用于给计算机设备600的各个部件供电。可选的,电源607可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源607还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检
测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0248]
尽管图3中未示出,计算机设备600还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
[0249]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0250]
由上可知,本实施例提供的计算机设备,通过当检测到为目标图片控件设置通过目标图片控件显示的目标图片时,获取目标图片的初始图片尺寸;获取目标图片控件的显示尺寸,并根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围;若初始图片尺寸不满足目标尺寸范围,则生成目标图片控件的告警信息,告警信息用于指示目标图片的初始图片尺寸不满足目标尺寸范围。
[0251]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0252]
为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种图片检测方法中的步骤。例如,该计算机程序可以执行如下步骤:
[0253]
当检测到为目标图片控件设置通过目标图片控件显示的目标图片时,获取目标图片的初始图片尺寸;
[0254]
获取目标图片控件的显示尺寸,并根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围;
[0255]
若初始图片尺寸不满足目标尺寸范围,则生成目标图片控件的告警信息,告警信息用于指示目标图片的初始图片尺寸不满足目标尺寸范围。
[0256]
在一些实施例中,当检测到为目标图片控件设置目标图片控件中显示的目标图片时,获取目标图片的初始图片尺寸,包括:
[0257]
当检测到调用目标图片控件的图片加载方法时,触发钩子函数获取目标图片的初始图片尺寸,其中,图片加载方法用于将目标图片加载至目标图片控件进行显示。
[0258]
在一些实施例中,根据显示尺寸确定目标图片控件显示目标图片需满足的目标尺寸范围,包括:
[0259]
获取目标图片控件所属屏幕对象的缩放参数;
[0260]
计算显示尺寸与缩放参数的乘值,得到目标图片控件在屏幕对象中的缩放后尺寸;
[0261]
基于缩放后尺寸确定目标尺寸范围。
[0262]
在一些实施例中,基于缩放后尺寸确定目标尺寸范围,包括:
[0263]
根据缩放后尺寸与第一比例系数确定第一图片尺寸;
[0264]
根据缩放后尺寸与第二比例系数确定第二图片尺寸;
[0265]
基于第一图片尺寸与第二图片尺寸确定目标尺寸范围。
[0266]
在一些实施例中,生成目标图片控件的告警信息,包括:
[0267]
从项目代码中定位目标图片控件对应的目标代码;
[0268]
根据目标代码、初始图片尺寸以及目标尺寸范围生成告警内容,得到告警信息。
[0269]
在一些实施例中,在生成目标图片控件的告警信息之后,还包括:
[0270]
对告警内容进行标记;
[0271]
通过运行项目代码的程序控制台显示标识后的告警内容。
[0272]
在一些实施例中,生成目标图片控件的告警信息,包括:
[0273]
对目标图片控件的显示属性进行调整;
[0274]
基于调整后的目标图片控件得到告警信息。
[0275]
在一些实施例中,显示属性包括背景颜色;
[0276]
对目标图片控件的显示属性进行调整,包括:
[0277]
将背景颜色调整为指定颜色。
[0278]
在一些实施例中,显示属性包括显示图案;
[0279]
对目标图片控件的显示属性进行调整,包括:
[0280]
将显示图案调整为指定图案。
[0281]
在一些实施例中,在生成目标图片控件的告警信息之后,还包括:
[0282]
通过程序控制台的预览区域显示调整后的目标图片控件,其中,程序控制台用于运行包含目标图片控件的项目代码,预览区域用于显示目标图片控件的显示内容。
[0283]
本方案通过对图片控件的图片设置方法进行hook,当图片控件触发图片设置方法时,识别图片控件大小与图片控件加载的图片的尺寸大小并进行比较,当确定图片的尺寸不符合图片控件的尺寸时,生成告警信息,对于图片控件设置图片进行告警,同时打印出对应图片控件所在业务代码,方便开发人员准确了解到图片控件加载的图片尺寸信息,并根据告警信息对图片控件进行图片设置,无需重复加载图片进行处理,可以提高图片控件的图片设置效率。
[0284]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0285]
其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0286]
由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种图片检测方法中的步骤,因此,可以实现本技术实施例所提供的任一种图片检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0287]
以上对本技术实施例所提供的一种图片检测方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1