点九效果图生成方法及其相关装置与流程

文档序号:29822278发布日期:2022-04-27 11:11阅读:185来源:国知局
点九效果图生成方法及其相关装置与流程

1.本发明涉及图片生成领域,尤其涉及一种点九效果图生成方法及其相关装置。


背景技术:

2.智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化而产生拉伸,造成图形的失真变形。android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边角会模糊失真。在android平台下使用点九png技术,可以将图片横向和纵向同时进行拉伸,以实现在多分辨率下的完美显示效果。使用了点九图技术后,只需要采用一套界面切图去适配不同的分辨率,而且大幅减少安装包的大小。而且这样程序不需要专门做处理的就可以实现其拉伸,也减少了代码量和开发工作量。
3.但是,系统应用上来说点九图技术只在android平台下才能应用,而在苹果生态系统是无法使用的。因此,需要一种技术能解决苹果生态系统无法生成和显示点九效果图的技术问题。


技术实现要素:

4.本发明的主要目的在于解决苹果生态系统无法生成和显示点九效果图的技术问题。
5.本发明第一方面提供了一种点九效果图生成方法,应用于苹果生态系统,所述方法包括步骤:
6.接收点九效果图生成指令,读取所述点九效果图生成指令对应的图片数据;
7.基于bytesutils组件,对所述图片数据进行字节码大小端处理,得字节码解析数据;
8.基于pngparser组件,将所述字节码解析数据进行结构化处理,得到png结构图片数据,将所述png结构图片数据进行扩展解析处理,得到图片解码数据;
9.对所述图片解码数据进行框架计算处理,计算生成绘图框架;
10.根据所述图片解码数据,在所述绘图框架中进行整体像素放置处理,得到所述图片数据在所述苹果生态系统中的点九效果图。
11.可选的,在本发明第一方面的第一种实现方式中,所述将所述png结构图片数据进行扩展解析处理,得到图片解码数据包括:
12.判断所述png结构图片数据的头部字符串标识是否为预置png字符串标识;
13.若为png字符串标识,则定义所述头部字符串标识的字符数为预置索引字符数;
14.判断所述索引字符数的最后字符后是否存在字符;
15.若存在字符,则依次读取所述png结构图片数据的长度码、数据块类型码、图片内容数据块、crc验证码,将所述长度码的字符数、所述数据块类型码的字符数、所述图片内容数据块的字符数、所述crc验证码的校验字符数添加至所述索引字符数中;
16.判断所述索引字符数是否达到预置解析完成阈值;
17.若达到解析完成阈值,则基于pngparser插件,对所述长度码、所述数据块类型码、所述图片内容数据块、所述crc验证码进行解析处理,得到图片解码子数据。
18.可选的,在本发明第一方面的第二种实现方式中,所述基于pngparser插件,对所述长度码、所述数据块类型码、所述图片内容数据块、所述crc验证码进行解析处理,得到图片解码子数据包括:
19.在所述数据块类型码中识别出预置nptc chunk类型码;
20.将所述索引字符数清零,根据预置扩展算法和所述索引字符数,对所述nptc chunk类型码对应的图片内容数据块进行扩展处理,得到图片解码子数据。
21.可选的,在本发明第一方面的第三种实现方式中,所述绘图框架包括:图像固定比例区、图像缩放区,所述根据所述图片解码数据,在所述绘图框架中进行整体像素放置处理,得到在苹果生态系统中的点九效果图包括:
22.基于所述绘图框架,对所述图片解码数据进行裁剪处理,得到n个图片解码子数据,其中,n为整数;
23.将所述图像缩放区对应的图片解码子数据进行比例缩放处理;
24.将缩放后的n个图片解码子数据的像素数据写入至所述绘图框架中,得到在苹果生态系统中的点九效果图。
25.可选的,在本发明第一方面的第四种实现方式中,所述对所述图片解码数据进行框架计算处理,计算生成绘图框架包括:
26.读取所述图片解码数据中的内容留白边界的坐标数据,读取所述图片解码数据中预置固定区域;
27.根据所述坐标数据和所述固定区域,对所述图像解码数据标记横向缩放区域和纵向缩放区域,生成绘图框架。
28.可选的,在本发明第一方面的第五种实现方式中,在所述根据所述图片解码数据,在所述绘图框架中进行整体像素放置处理,得到在苹果生态系统中的点九效果图显示效果之后,还包括:
29.将所述绘图框架通过继承系统的image类生成自定义类数据;
30.将所述图片解码数据存储在内存数据库中。
31.可选的,在本发明第一方面的第六种实现方式中,所述基于bytesutils组件,对所述图片数据进行字节码进行大小端处理,得字节码解析数据包括:
32.基于bytesutils组件,对所述图片数据的字节数据划分为头部字符串标识和实体数据块,得到字节码解析数据。
33.本发明第二方面提供了一种点九效果图生成方法装置,其特征在于,所述点九效果图生成方法装置包括:
34.接收模块,用于接收点九效果图生成指令,读取所述点九效果图生成指令对应的图片数据;
35.划分模块,用于基于bytesutils组件,对所述图片数据进行字节码大小端处理,得字节码解析数据;
36.解析模块,用于基于pngparser组件,将所述字节码解析数据进行结构化处理,得
到png结构图片数据,将所述png结构图片数据进行扩展解析处理,得到图片解码数据;
37.框架计算模块,用于对所述图片解码数据进行框架计算处理,计算生成绘图框架;
38.像素放置模块,用于根据所述图片解码数据,在所述绘图框架中进行整体像素放置处理,得到所述图片数据在所述苹果生态系统中的点九效果图。
39.本发明第三方面提供了一种点九效果图生成方法设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述点九效果图生成方法设备执行上述的点九效果图生成方法。
40.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的点九效果图生成方法。
41.在本发明实施例中,根据png图片数据结构来设计解析器的数据模型;解析器能将png文件的二进制数据解码成数据模型,如果存在特殊的段结构,可以灵活扩展。将点九图的绘制工作拆分为解码、预处理、即时绘制三个部分;解码和预处理阶段是将点九图文件数据解析和转化成图片对象,同时缓存一些预处理信息,供绘制阶段使用,这两个阶段只会执行一次。即时绘制阶段是通过用既定的容器来承载点九图,容器会结合它的实际大小做即时绘制。将点九图渲染框架打包成一个framework,该framework适配macos、ios、ipados、watchos、tvos等苹果生态系统的appkit框架,开发者能直接使用。
附图说明
42.图1为本发明实施例中点九效果图生成方法的一个实施例示意图;
43.图2为本发明实施例中点九效果图生成方法png图数据结构的示意图;
44.图3为本发明实施例中点九效果图生成方法的数据块的数据结构的结构示意图;
45.图4为本发明实施例中点九效果图生成方法的点九点图缩放框架的示意图;
46.图5为本发明实施例中点九效果图生成装置的一个实施例示意图;
47.图6为本发明实施例中点九效果图生成装置的另一个实施例示意图;
48.图7为本发明实施例中点九效果图生成设备的一个实施例示意图。
具体实施方式
49.本发明实施例提供了一种点九效果图生成方法及其相关装置。
50.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
51.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中点九效果图生成方法的一个实施例,包括步骤:
52.101、接收点九效果图生成指令,读取点九效果图生成指令对应的图片数据;
53.在本实施例中,点九效果图生成指令是在苹果生态系统激活的,这里需要说明普通png图与点九图的区别。如图2说明png图的具体信息,每个png图的结构是有signature做为png图片的标识,chunk是png图片的实体数据,每个chunk数据中有length作为chunk data定义数据长度的标识有四个字节的长度,而chunk type code是数据块类型码定义数据的类型有四个字节的长度,chunk data是png图的实际数据,crc是校验码4个字节用于校准的。如图3说明的是点九图的具体信息,实际上点九图与png图的差别在于chunk数据中的不同,而chunk数据上只有chunk data数据是不同的,nptc chunk data的数据组成定义是不同的。
54.基于点九图与png图的数据结构不同,因此在苹果生态系统中的点九图生成过程实际上是与普通png图完全不同,而且也不能使用安卓上的生成方式。
55.102、基于bytesutils组件,对图片数据进行字节码大小端处理,得字节码解析数据;
56.在本实施例中,bytesutils组件是字节处理工具,负责文件字节流的读取、截取、大小端兼容工作,负责字节局部提取和有序排列,大小端是计算机对高字节和低字节处理过程,对该图片数据处理处理是同样的过程。处理过程有以下两种方式:
57.大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,数据从高位往低位放;这和我们的阅读习惯一致。
58.小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。
59.进一步的,在102可以执行以下步骤:
60.1021、基于bytesutils组件,对图片数据的字节数据划分为头部字符串标识和实体数据块,得到字节码解析数据。
61.在1021步骤中,bytes utils组件是将图片数据格式由一长串的字符基于png结构图,头部字符串即为标识的头部字符,是数据识别处理过程中计算机读取数据过程中对数据的定义和分类的主要标识。划分出signature的头部字符串标识和实体数据块chunk,这里chunk有四个部分依次为length、chunk type code、nptc chunk data、crc,而且会有多个chunk,这里可以参考图2与图3的数据结构,这是png图片定义的格式,解析后得到有序的png字节数据。
62.103、基于pngparser组件,将字节码解析数据进行结构化处理,得到png结构图片数据,将png结构图片数据进行扩展解析处理,得到图片解码数据;
63.在本实施例中,png parser是png文件解析器,依赖bytes util,负责将字节转化成png数据结构。png parser包含一个注册表,可以注册特殊的chunk段数据结构供解析器扩展解析,以兼容如点九图这样特殊的png数据结构,整个点九图解析工作由png parser完成。
64.进一步的,在“将png结构图片数据进行扩展解析处理,得到图片解码数据”可以执行以下步骤:
65.1031、判断png结构图片数据的头部字符串标识是否为预置png字符串标识;
66.1032、若为png字符串标识,则定义头部字符串标识的字符数为预置索引字符数;
67.1033判断索引字符数的最后字符后是否存在字符;
68.1034、若存在字符,则依次读取png结构图片数据的长度码、数据块类型码、图片内容数据块、crc验证码,将长度码的字符数、数据块类型码的字符数、图片内容数据块的字符数、crc验证码的校验字符数添加至索引字符数中;
69.1035、判断索引字符数是否达到预置解析完成阈值;
70.1036、若达到解析完成阈值,则基于pngparser插件,对长度码、数据块类型码、图片内容数据块、crc验证码进行解析处理,得到图片解码子数据。
71.在1031-1036步骤中,先要分析头部字符串是否为“89504e470d0a1a0a”,如果确定是png字符串标识,则继续处理结构图片数据。而如果不是png字符串标识,则直接结束处理过程。在确定为png字符串标识,则确定索引字符数为8,然后进一步判断png字符串标识后是否还有字符串。定义头部字符串标识是定义进行索引计算的字符数值,如果已经确定了定义的头部字符串的字符数,在头部字符串标识最后的一个字符排序后面还存在字符,则解析长度码、数据块类型码、图片内容数据块、crc验证码。每次解析长度码,则在索引字符数中增加4,每次解析数据块类型码,则在索引字符数中增加4,每次解析图片内容数据块,则在索引字符数中增加长度码对应的数据大小,也即是图片内容数据块的字符数。crc验证码的处理过程不同,解析完成crc验证码后将校验的图片内容数据块的字符数添加至索引字符数。通过对索引字符数的数值判断是否完成了chunk data的扩展,如果完成扩展,则基于png parser插件直接进行解析,而在1036完成后,则回到1033进行判断,主要是由多个chunk数据,需要不断循环读取解析。
72.进一步的,在1036可以执行以下步骤:
73.10361、在数据块类型码中识别出预置nptc chunk类型码;
74.10362、将索引字符数清零,根据预置扩展算法和索引字符数,对nptc chunk类型码对应的图片内容数据块进行扩展处理,得到图片解码子数据。
75.在10361、10362步骤中,对于点九图,因为包含一个特殊的chunck段nptc chunk结构,通过实现png parser中的chunkdata扩展解析方法来处理,识别到nptc chunk类型码,则将索引字符数beginindex清零。在beginindex=0后,执行beginindex=beginindex+1,读取设置的横坐标长度x,执行beginindex=beginindex+1。读取固定纵坐标长度y,执行beginindex=beginindex+1。读取颜色数组长度,执行beginindex=beginindex+1,再跳过8个字节,执行beginindex=beginindex+8。读取内容的左边界长度,执行beginindex=beginindex+4。读取内容的右边界长度,执行beginindex=beginindex+4。读取顶部边界长度,执行beginindex=beginindex+4。读取底部边界长度,执行beginindex=beginindex+4。跳过4个字节,执行beginindex=beginindex+4。定义一个计数器i,i=0,判断i是否小于横坐标长度x,如果小于则beginindex赋值给i,执行beginindex=beginindex+4,再进行判断i是否小于横坐标长度x,循环至i不小于横坐标长度x执行下面的步骤。定义一个计数器j,j=0,判断j是否小于纵坐标长度y,如果小于则beginindex赋值给j,执行beginindex=beginindex+4,再进行判断j是否小于纵坐标长度y,循环至j不小于纵坐标长度y执行下面的步骤。定义一个计数器m,m=0,判断m是否小于颜色数组长度,若小于则beginindex赋值给m,beginindex=beginindex+4,再进行判断m是否小于颜色数组长度,循环至m不小于颜
色数组长度,结束解析过程。
76.104、对图片解码数据进行框架计算处理,计算生成绘图框架;
77.在本实施例中,ninepatchkit是一套ios&macos端的点九图渲染框架,ninepatchkit负责生成九点图对象和提供九点图容器,通过苹果的cocoapods命令行能快速将ninepatchkit集成到项目工程中。如图4展示的九点图缩放框架,左边和上边的黑线分别表示水平和垂直的缩放区域,缩放区域可以有多段,同一方向坐标轴上,若有多段,则代表这个方向上的缩放区域有多段,且这个方向的缩放区域跟线长成正比(例如:上图垂直方向标记有两个垂直拉伸区域,且两个表记线长为1:1,代表当垂直方向需要拉伸或压缩时,这两个区域的拉伸或压缩程度时相同的);右边和下边的黑线分别表示水平和垂直的内容区域,黑线图经过编译后,会将这些信息坐标放到nptc chunk段中,得到最终的点九效果图。
78.进一步的,在104执行过程可以执行以下步骤:
79.1041、取图片解码数据中的内容留白边界的坐标数据,读取图片解码数据中预置固定区域;
80.1042、根据坐标数据和固定区域,对图像解码数据标记横向缩放区域和纵向缩放区域,生成绘图框架。
81.在1041、1042步骤中,主要是说明一个依据留白边界宽度和固定区域之外皆为可缩放的区域的思想,这里可以参考图4。图4中除了需要显示内容的四个边界范围是固定不缩放的区域,而需要突出的形变的图像区域也为固定区域。这里需要说明,形变的图像不仅可以在中间还可以在边缘,这是根据设计的过程而变化。但是固定区域和边界以外的区域都可以作为缩放区域,然后以区域记录横纵两个类似投影角度记录缩放区域,得到绘图框架。计算水平固定长度时,xlist是黑线的起点和终点的x轴方向坐标集合,按照x0开始端、x0结束端、x1开始端、x1结束端

xs开始端、xs结束端方式排布,水平固定区域即为图像不在xlist中的长度,所以水平固定区域=水平长度

xlist所有长度之和,计算垂直固定长度与计算水平固定长度的方法一致。
82.105、根据图片解码数据,在绘图框架中进行整体像素放置处理,得到图片数据在苹果生态系统中的点九效果图。
83.在本实施例中,直接分块进行填充绘图框架,整体像素放置的过程就是将某一区域的像素值矩阵传递到显示组件中,对某一区域显示进行定义,在显示过程中,就像直接复制和整体放缩的效果。
84.参考图4,边缘不用缩放的区域则固定为原来的区域,而中心描黑的水平拉升区域和垂直拉升区域需要根据内容按照显示屏幕的比例进行拉升或者缩放,这里的拉升或者缩放表示的是一种系数,例如放缩比例大于1则是拉升,放缩比例小于1则是缩放。
85.进一步的,绘图框架包括:图像固定比例区、图像缩放区,105步骤可以执行以下步骤:
86.1051、基于绘图框架,对图片解码数据进行裁剪处理,得到n个图片解码子数据,其中,n为整数;
87.1052、将图像缩放区对应的图片解码子数据进行比例缩放处理;
88.1053、将缩放后的n个图片解码子数据的像素数据写入至绘图框架中,得到在苹果
生态系统中的点九效果图。
89.在1051-1053步骤中,先基于框架的结构进行拆解,这里拆解是根据框架的分割数量决定的。对框架中需要放缩区域分别进行横坐标缩放再进行纵坐标放缩,或者先进行纵坐标放缩再进行横坐标放缩,得到多个缩放后的图片解密子数据。这里的图片解密子数据都是一个独立单元,再根据原先的单元映射关系整体填充回绘图框架中,得到在苹果生态系统的点九效果图。
90.进一步,在105之后,还可以执行以下步骤:
91.106、将绘图框架通过继承系统的image类生成自定义类数据;
92.107、将图片解码数据存储在内存数据库中。
93.在106-107步骤中,通过继承系统image类生成一个自定义类,扩展其中的属性,扩展的属性包含:solidwidth(水平方向不用放缩区域的总像素和),solidheight(垂直方向不用放缩区域的总像素宽度和),padding(图4中右边和下边标记的内容区域相对于边界的留白[top,left,bottom,right]),根据四周的黑线标记裁剪的子图,生成这个继承类对象时,就会计算出这些属性值缓存在内存中。
[0094]
生成点九图对象后,会根据点九图的路径,建立一个点九图路径和点九图对象的key-value形式的缓存,在重复读取相同地址点九图的情况下,直接跳过png parse检索缓存,效率更高。
[0095]
在本发明实施例中,根据png图片数据结构来设计解析器的数据模型;解析器能将png文件的二进制数据解码成数据模型,如果存在特殊的段结构,可以灵活扩展。将点九图的绘制工作拆分为解码、预处理、即时绘制三个部分;解码和预处理阶段是将点九图文件数据解析和转化成图片对象,同时缓存一些预处理信息,供绘制阶段使用,这两个阶段只会执行一次。即时绘制阶段是通过用既定的容器来承载点九图,容器会结合它的实际大小做即时绘制。将点九图渲染框架打包成一个framework,该framework适配macos、ios、ipados、watchos、tvos等苹果生态系统的appkit框架,开发者能直接使用。
[0096]
上面对本发明实施例中点九效果图生成方法进行了描述,下面对本发明实施例中点九效果图生成装置进行描述,请参阅图5,本发明实施例中点九效果图生成装置一个实施例,所述点九效果图生成装置包括:
[0097]
接收模块501,用于接收点九效果图生成指令,读取所述点九效果图生成指令对应的图片数据;
[0098]
划分模块502,用于基于bytesutils组件,对所述图片数据进行字节码大小端处理,得字节码解析数据;
[0099]
解析模块503,用于基于pngparser组件,将所述字节码解析数据进行结构化处理,得到png结构图片数据,将所述png结构图片数据进行扩展解析处理,得到图片解码数据;
[0100]
框架计算模块504,用于对所述图片解码数据进行框架计算处理,计算生成绘图框架;
[0101]
像素放置模块505,用于根据所述图片解码数据,在所述绘图框架中进行整体像素放置处理,得到所述图片数据在所述苹果生态系统中的点九效果图。
[0102]
在本发明实施例中,根据png图片数据结构来设计解析器的数据模型;解析器能将png文件的二进制数据解码成数据模型,如果存在特殊的段结构,可以灵活扩展。将点九图
的绘制工作拆分为解码、预处理、即时绘制三个部分;解码和预处理阶段是将点九图文件数据解析和转化成图片对象,同时缓存一些预处理信息,供绘制阶段使用,这两个阶段只会执行一次。即时绘制阶段是通过用既定的容器来承载点九图,容器会结合它的实际大小做即时绘制。将点九图渲染框架打包成一个framework,该framework适配ios的uikit和macos的appkit框架,ios和macos开发者能直接使用。
[0103]
请参阅图6,本发明实施例中点九效果图生成方法装置的另一个实施例,所述点九效果图生成方法装置包括:
[0104]
接收模块501,用于接收点九效果图生成指令,读取所述点九效果图生成指令对应的图片数据;
[0105]
划分模块502,用于基于bytesutils组件,对所述图片数据进行字节码大小端处理,得字节码解析数据;
[0106]
解析模块503,用于基于pngparser组件,将所述字节码解析数据进行结构化处理,得到png结构图片数据,将所述png结构图片数据进行扩展解析处理,得到图片解码数据;
[0107]
框架计算模块504,用于对所述图片解码数据进行框架计算处理,计算生成绘图框架;
[0108]
像素放置模块505,用于根据所述图片解码数据,在所述绘图框架中进行整体像素放置处理,得到所述图片数据在所述苹果生态系统中的点九效果图。其中,所述划分模块502具体用于:
[0109]
基于bytesutils组件,对所述图片数据的字节数据划分为头部字符串标识和实体数据块,得到字节码解析数据。
[0110]
其中,所述解析模块503包括:
[0111]
头标识判断单元5031,用于判断所述png结构图片数据的头部字符串标识是否为预置png字符串标识;
[0112]
循环判断单元5032,用于若为png字符串标识,则定义所述头部字符串标识的字符数为预置索引字符数
[0113]
字符存在判断单元5033,用于判断所述索引字符数的最后字符后是否存在字符;
[0114]
索引计数单元5034,用于若存在字符,则依次读取所述png结构图片数据的长度码、数据块类型码、图片内容数据块、crc验证码,将所述长度码的字符数、所述数据块类型码的字符数、所述图片内容数据块的字符数、所述crc验证码的校验字符数添加至所述索引字符数中;
[0115]
执行判断单元5035,用于若判断所述索引字符数是否达到预置解析完成阈值;
[0116]
解码单元5036,用于若达到解析完成阈值,则基于pngparser插件,对所述长度码、所述数据块类型码、所述图片内容数据块、所述crc验证码进行解析处理,得到图片解码子数据。
[0117]
其中,所述解码单元5036具体用于:
[0118]
在所述数据块类型码中识别出预置nptc chunk类型码;
[0119]
将所述索引字符数清零,根据预置扩展算法和所述索引字符数,对所述nptc chunk类型码对应的图片内容数据块进行扩展处理,得到图片解码子数据。
[0120]
其中,所述框架计算模块504具体用于:
[0121]
基于所述绘图框架,对所述图片解码数据进行裁剪处理,得到n个图片解码子数据,其中,n为整数;
[0122]
将所述图像缩放区对应的图片解码子数据进行比例缩放处理;
[0123]
将缩放后的n个图片解码子数据的像素数据写入至所述绘图框架中,得到在苹果生态系统中的点九效果图。
[0124]
其中,所述框架计算模块504具体用于:
[0125]
读取所述图片解码数据中的内容留白边界的坐标数据,读取所述图片解码数据中预置固定区域;
[0126]
根据所述坐标数据和所述固定区域,对所述图像解码数据标记横向缩放区域和纵向缩放区域,生成绘图框架。
[0127]
其中,所述点九效果图生成方法装置还包括存储模块506,所述存储模块506具体用于:
[0128]
将所述绘图框架通过继承系统的image类生成自定义类数据;
[0129]
将所述图片解码数据存储在内存数据库中。
[0130]
在本发明实施例中,根据png图片数据结构来设计解析器的数据模型;解析器能将png文件的二进制数据解码成数据模型,如果存在特殊的段结构,可以灵活扩展。将点九图的绘制工作拆分为解码、预处理、即时绘制三个部分;解码和预处理阶段是将点九图文件数据解析和转化成图片对象,同时缓存一些预处理信息,供绘制阶段使用,这两个阶段只会执行一次。即时绘制阶段是通过用既定的容器来承载点九图,容器会结合它的实际大小做即时绘制。将点九图渲染框架打包成一个framework,该framework适配ios的uikit和macos的appkit框架,ios和macos开发者能直接使用。
[0131]
上面图5和图6从模块化功能实体的角度对本发明实施例中的点九效果图生成方法装置进行详细描述,下面从硬件处理的角度对本发明实施例中点九效果图生成方法设备进行详细描述。
[0132]
图7是本发明实施例提供的一种点九效果图生成方法设备的结构示意图,该点九效果图生成方法设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对点九效果图生成方法设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在点九效果图生成方法设备700上执行存储介质730中的一系列指令操作。
[0133]
基于点九效果图生成方法设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如windows server,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图7展示的点九效果图生成方法设备结构并不构成对基于点九效果图生成方法设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0134]
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性
计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述点九效果图生成方法的步骤。
[0135]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0136]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0137]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1