买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】图片处理方法、装置、服务端及客户端_阿里巴巴(中国)有限公司_201710266917.X 

申请/专利权人:阿里巴巴(中国)有限公司

申请日:2017-04-21

公开(公告)日:2021-02-26

公开(公告)号:CN107066430B

主分类号:G06F40/151(20200101)

分类号:G06F40/151(20200101);G06F16/958(20190101);G06F16/957(20190101)

优先权:

专利状态码:有效-授权

法律状态:2021.02.26#授权;2017.09.12#实质审查的生效;2017.08.18#公开

摘要:本发明涉及计算机技术领域,提供一种图片处理方法、装置、服务端及客户端,服务端获取客户端的第一图片文件,并将第一图片文件转换为渲染代码文件;客户端从服务端下载渲染代码文件,并响应用户的操作,运行渲染代码文件,对渲染代码文件进行渲染绘制以得到第二图片文件。与现有的栅格图相比,可以有效减少占用内存的大小,同时图片放大不失真,与现有的遍历XML的树结构来解析SVG图片文件信息的方式相比,具有加载速度快、可局部修改渲染命令、支持九图、复杂图片渲染效率高的优点。

主权项:1.一种图片处理方法,其特征在于,所述方法应用于与客户端通信的服务端,所述方法包括:获取客户端的第一图片文件,其中,所述第一图片文件为基于标记语言的图片文件;将所述第一图片文件转换为渲染代码文件,以使所述客户端下载所述渲染代码文件,并在所述渲染代码文件在客户端被运行时对所述渲染代码文件进行渲染绘制以得到第二图片文件,其中所述渲染代码文件由非标记语言构成。

全文数据:图片处理方法、装置、服务端及客户端技术领域[0001]本发明涉及计算机技术领域,具体而言,涉及一种图片处理方法、装置、服务端及客户端。背景技术[0002]目前手机应用随着自身业务的不断发展,内容不断丰富,使用到的本地图片资源会不断增加,最终导致安装包大小变大,内存占用增大,页面加载速度变慢,一些开源的图片虽然优化了图片的内存管理,但对一些本地图片并没有本质上优化,而且Android的本地图片还要考虑多分辨率适配,如果想在各种分辨率的机型上达到以最小的内存展现最高清晰度的图片,那么就需要多份分辨率的图片,这样会造成资源的冗余,而SVGScalableVectorGraphics,可缩放矢量图形矢量图就可以解决这些问题。[0003]但目前Android使用SVG矢量图的缺点主要是加载速度慢,复杂图片渲染效率低,原因在于需要在运行时读取并解析SVG图片文件,而SVG文件是一种可读的XMLExtensibleMarkupLanguage,可扩展标记语言)文件,解析时需要遍历xml的树结构来解析相应的信息,并且还需要分配相应的内存来缓存这些信息,这个过程要比栅格图的解析慢好几倍,另外在Android上还有九图这种特殊的栅格图,而SVG协议本身并没有九图这个概念。发明内容[0004]本发明的目的在于提供一种图片处理方法、装置、服务端及客户端,用以改善上述问题。[0005]为了实现上述目的,本发明实施例采用的技术方案如下:[0006]第一方面,本发明实施例提供了一种图片处理方法,应用于与客户端通信的服务端,所述方法包括:获取客户端的第一图片文件,其中,第一图片文件为基于标记语言的图片文件;将第一图片文件转换为渲染代码文件,以在渲染代码文件在客户端被运行时对渲染代码文件进行渲染绘制以得到第二图片文件,其中渲染代码文件由非标记语言构成。[0007]第二方面,本发明实施例提供了一种图片处理方法,应用于与服务端通信的客户端,所述方法包括:从服务端下载渲染代码文件,其中,渲染代码文件通过第一图片文件转换而来,其中,第一图片文件为基于标记语言的图片文件,渲染代码文件由非标记语言构成;响应用户操作,运行渲染代码文件,对渲染代码文件进行渲染绘制以得到第二图片文件。[0008]第三方面,本发明实施例提供了一种图片处理装置,应用于与客户端通信的服务端,所述装置包括:图片获取模块,用于获取客户端的第一图片文件,其中,第一图片文件为基于标记语言的图片文件;文件转换模块,用于将第一图片文件转换为渲染代码文件,以在渲染代码文件在客户端被运行时对渲染代码文件进行渲染绘制以得到第二图片文件,其中渲染代码文件由非标记语言构成。[0009]第四方面,本发明实施例提供了一种图片处理装置,应用于与服务端通信的客户端,所述装置包括:文件下载模块,用于从服务端下载渲染代码文件,其中,渲染代码文件通过第一图片文件转换而来,其中,第一图片文件为基于标记语言的图片文件,渲染代码文件由非标记语言构成;图片渲染模块,用于响应用户操作,运行渲染代码文件,对渲染代码文件进行渲染绘制以得到第二图片文件。[0010]第五方面,本发明实施例提供了一种服务端,所述服务端包括第一存储器、第一处理器、以及图片处理装置,所述图片处理装置安装于所述第一存储器中并包括一个或多个由所述第一处理器执行的软件功能模组,其包括:图片获取模块,用于获取客户端的第一图片文件,其中,第一图片文件为基于标记语言的图片文件;文件转换模块,用于将第一图片文件转换为渲染代码文件,以在渲染代码文件在客户端被运行时对渲染代码文件进行渲染绘制以得到第二图片文件,其中渲染代码文件由非标记语言构成。[0011]第六方面,本发明实施例提供了一种客户端,所述客户端包括第二存储器、第二处理器、以及图片处理装置,所述图片处理装置安装于所述第二存储器中并包括一个或多个由所述第二处理器执行的软件功能模组,其包括:文件下载模块,用于从服务端下载渲染代码文件,其中,渲染代码文件通过第一图片文件转换而来,其中,第一图片文件为基于标记语言的图片文件,渲染代码文件由非标记语言构成;图片渲染模块,用于响应用户操作,运行渲染代码文件,对渲染代码文件进行渲染绘制以得到第二图片文件。[0012]相对现有技术,本发明具有以下有益效果:本发明提供的一种图片处理方法、装置、服务端及客户端,服务端通过将基于标记语言的第一图片文件转换为由非标记语言构成的渲染文件代码,再将渲染文件代码打包进应用程序安装包,服务端下载安装该程序安装包之后,运行应用程序,从而对渲染文件代码进行渲染绘制,得到第二图片文件,与现有的应用程序中的栅格图相比,可以有效减少占用客户端内存的大小,与现有的遍历XML的树结构来解析SVG图片文件信息的方式相比,具有加载速度快、复杂图片渲染效率高的优点。[0013]为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明[0014]为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。[0015]图1示出了本发明实施例提供的服务端与客户端进行交互的示意图。[0016]图2示出了本发明实施例提供的服务端的方框示意图。[0017]图3示出了本发明实施例提供的客户端的方框示意图。[0018]图4示出了本发明实施例提供的应用于相互之间通信连接的服务端和客户端时图片处理方法的流程图。[0019]图5为图4示出的步骤S102的子步骤流程图。[0020]图6为图5示出的子步骤Sl〇2l的子步骤流程图。[0021]图7为图4示出的步骤S104的子步骤流程图。[0022]图8为图7示出的子步骤S1043的子步骤流程图。[0023]图9为图7示出的子步骤S1045的子步骤流程图。[0024]图10为图9示出的子步骤S10452的子步骤流程图。[0025]图11示出了本发明实施例提供的第一图片处理装置的方框示意图。[0026]图12为图11示出的第一图片处理装置中文件转换模块的方框示意图。[0027]图13为图12示出的文件转换模块中文件转换单元的方框示意图。[0028]图14示出了本发明实施例提供的第二图片处理装置的方框示意图。[0029]图15为图14示出的第二图片处理装置中图片渲染模块的方框示意图。[0030]图16为图15示出的图片渲染模块中修改单元的方框示意图。[0031]图17为图15示出的图片渲染模块中图片渲染单元的方框示意图。[0032]图18为图17示出的图片渲染单元中第七子执行单元的方框示意图。[0033]图标:100-服务端;110-第一图片处理装置;120-第一存储器;130-第一处理器;140-第一通信单元;111-图片获取模块;112-文件转换模块;1121-文件转换单元;1122-代码生成单元;1123-图元属性获取单元;1124-计算单元;1125-文件存储单元;1126-地址存储单元;11211-第一子执行单元;11212-第二子执行单元;11213-第三子执行单元;200-客户端;210-第二图片处理装置;211-文件下载模块;212-图片渲染模块;2121-地址加载单元;2122-代码获取单元;2123-修改单元;2124-区域确定单元;2125-图片渲染单元;21231-第四子执行单元;21232-第五子执行单元;21251-第六子执行单元;21252-第七子执行单元;21253-第八子执行单元;212521-坐标计算单元;212522-拉伸单元;212523-坐标确定单元;220-第二存储器;23〇_存储控制器;240-第二处理器;250-外设接口;260-第二通信单兀;270-射频单兀;280-显不屏;300-网络;400-应用程序。具体实施方式[0034]下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。[0035]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。[0036]请参照图1,图1是本发明较佳实施例提供的服务端100与至少一个客户端200通信的交互示意图。服务端100可通过网络300与客户端200进行通信,以实现服务端100与客户端200之间的数据通信或交互。服务端1〇〇可以提供至少一个适用于各种操作系统的应用程序400的安装包供客户端200下载。客户端200通过网络300访问服务端100后,可通过网络300从服务端100下载适用于该客户端200的操作系统的应用程序400的安装包,以将应用程序400安装到客户端200中。[0037]本发明实施例中,服务端1〇〇为web网站服务器。客户端200可以是,但不限于,智能手机、个人电脑personalcomputer,PC、平板电脑、个人数字助理personaldigitalassistant,PDA、移动上网设备mobileInternetdevice,MID等。客户端200的操作系统可以是,但不限于,安卓(Android系统、IOSiPhoneoperatingsystem系统、Windowsphone系统、Windows系统等。应用程序400可以是服务端100提供的任何可供客户端200自定义下载并安装的应用程序,优选地,本实施例中,应用程序4〇〇可为各种包含图片的各种应用程序。[0038]请参照图2,图2示出了本发明实施例提供的服务端1〇〇的方框示意图。服务端1〇〇包括第一图片处理装置110、第一存储器120、第一处理器130及第一通信单元140。[0039]第一存储器120、第一处理器130及第一通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第一图片处理装置110包括至少一个可以软件或固件firmware的形式存储于第一存储器120中或固化在所述服务端100的操作系统operatingsyStetn,0S中的软件功能模块。第一处理器130用于执行第一存储器120中存储的可执行模块,例如第一图片处理装置110所包括的软件功能模块及计算机程序等。[0040]其中,第一存储器120可以是,但不限于,随机存取存储器(RandomAccessMemory,RAM,只读存储器ReadOnlyMemory,R0M,可编程只读存储器ProgrammableRead-OnlyMemory,PR0M,可擦除只读存储器(ErasableProgrammableRead-OnlyMemory,EPR0M,电可擦除只读存储器(ElectricErasableProgrammableRead-OnlyMemory,EEPR0M等。其中,第一存储器120用于存储程序,第一处理器130在接收到执行指令后,执行所述程序。第一通信单元140用于通过网络300建立服务端100与客户端200之间的通信连接,并用于通过网络300收发数据。[0041]请参照图3,图3示出了本发明实施例提供的客户端200的方框示意图。该客户端200包括第二图片处理装置210、第二存储器220、存储控制器230、第二处理器240、外设接口250、第二通信单元260、射频单元270和显示屏280。[0042]第二存储器220、存储控制器230、第二处理器240、外设接口250、第二通信单元260、射频单元270和显示屏280各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第二图片处理装置210包括至少一个可以软件或固件firmware的形式存储于第二存储器220中或固化在客户端200的操作系统operatingsystem,0S中的软件功能模块。第二存储器220存储有客户端200从服务端100中下载并安装的应用程序400。第二处理器240用于执行第二存储器220中存储的可执行模块,例如第二图片处理装置210所包括的软件功能模块或计算机程序。[0043]其中,第二存储器220可以是,但不限于,随机存取存储器(RandomAccessMemory,RAM,只读存储器(ReadOnlyMemory,R0M,可编程只读存储器(ProgrammableRead-OnlyMemory,PROM,可擦除只读存储器(ErasableProgrammableRead-OnlyMemory,EPR0M,电可擦除只读存储器(ElectricErasableProgrammableRead-OnlyMemory,EEPR0M等。其中,第二存储器220用于存储程序,第二处理器240在接收到执行指令后,执行所述程序,第二处理器240以及其他可能的组件对第二存储器220的访问可在存储控制器230的控制下进行。[0044]第二处理器240可以是一种集成电路芯片,具有信号处理能力。上述的第二处理器240可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU、网络处理器NetworkPr〇CesS〇r,NP、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该第二处理器240也可以是任何常规的处理器等。[0045]外设接口250用于将各种输入输出装置耦合至第二处理器240以及第二存储器220。在一些实施例中,外设接口250、第二处理器MO以及存储控制器23〇可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。[0046]射频单元270用于接收以及发送无线电波信号(如电磁波),实现无线电波与电信号的相互转换,从而实现客户端200与网络300或者其他通信设备之间的无线通信。[0047]第二通信单元260用于通过网络300与服务端100建立连接,从而实现服务端1〇〇与客户端2〇〇之间的通信连接。例如,该第二通信单元260可以利用射频单元270发送的射频信号连接到网络300,进而通过网络300与服务端100建立通信连接。[0048]显示屏280用于将经客户端2〇0的第二图片处理装置210处理后的第二图片文件进行显示。[0049]第一实施例[0050]请参照图4,图4示出了本发明实施例提供的应用于相互之间通信连接的服务端100和客户端200时图片处理方法的流程图。图片处理方法包括以下步骤:[0051]步骤S101,获取客户端的第一图片文件,其中,第一图片文件为基于标记语言的图片文件。[0052]在本发明实施例中,第一图片文件可以预先存储于安装于客户端200的应用程序400的raw目录下,为应用程序400自身的图片文件,也就是应用程序400运行时界面加载所需要的图片,服务端100可以直接通过网络300获取raw目录下的第一图片文件,第一图片文件可以是,但不限于基于XML、HTMLHyperTextMarkedLanguage,超文本标记语言)等标记语言的图片,[0053]在本发明实施例中,第一图片文件可以是,但不限于UC浏览器、微信等应用程序400运行过程中需使用到的图片资源,例如可以是“确定”、“完成”等控件、或者是消息框、添加好友等的图标。作为一种实施方式,第一图片文件可以为SVG格式的图片文件,SVG格式的图片文件是基于XML语言,用于描述二维矢量图形的一种图形格式。[0054]步骤S102,将第一图片文件转换为渲染代码文件,以在渲染代码文件在客户端被运行时对渲染代码文件进行渲染绘制以得到第二图片文件,其中渲染代码文件由非标记语言构成。[0055]在本发明实施例中,为了解决SVG格式的图片文件加载慢的问题,可以通过将标记语言转换为非标记语言的方式,将第一图片文件转换为渲染文件代码,例如,可以将SVG格式的图片文件转换为由Java、C、C++等非标记语言构成的代码文件,作为一种实施方式,读取到raw目录下的SVG格式的图片文件之后,利用Android原生的SVG解析器或者开源的SVG解析器,将XML代码转换成Java代码,SVG格式的图片文件转换为渲染代码文件之后,打包到应用程序代码中,应用程序代码可以是,但不限于UC浏览器、微信等应用程序400的安装包。[0056]请参照图5,第一图片文件为SVG格式的图片文件,步骤S102还包括以下子步骤:[0057]子步骤S1021,对SVG格式的图片文件进行转换,生成特征代码。[0058]在本发明实施例中,可以通过代码语言转换的方式将图片文件进行转换,例如SVG格式的图片文件是一种XML代码,可以先将XML代码转换为抽象语法树,再将抽象语法树转换为Java格式的代码。[0059]作为一种实施方式,为了减少代码转换所耗费的资源和时间,可以将SVG格式的图片文件不同于其他SVG格式的图片文件的特征部分转换所生成的java代码,其中,其他SVG格式的图片文件是指在转换第一图片文件之前已经转换的SVG格式的图片文件,其具备与第一图片文件相同的代码,则相同部分的代码在转换第一图片文件时不需要再转换,只将不同的部分转换,再将转换的部分与相同部分的代码合成第一图片文件对应的完整的特征代码。[0060]在本发明实施例中,特征代码可以是,但不限于一个SVG格式的图片文件不同于其它SVG格式的图片文件的特征部分转换所生成的java代码。[0061]请参照图6,子步骤S1021还包括以下子步骤:[0062]子步骤Sl〇2ll,当SVG格式的图片文件对应有九图标记时,将九图标记解析为九图属性信息。[0063]在本发明实施例中,九图标记可以是自定义的,例如可以在SVG格式的图片上标记出一矩形框,则这一矩形框就是九图标记,矩形框内就是九图内容区域,将九图标记解析为九图属性信息可以是读取图片文件上矩形框四个角所在的像素点的坐标值,文件九图属性信息反映了SVG格式的图片文件中的九图内容区域,定义九图属性信息为ninepatch,若11让6?3七吐=140,4計56,57]"10,78130,92,图片大小为92\88,则140,48为左黑边信息,表示竖直方向拉伸区域为第40到第4S个像素点;t56,57为上黑边信息,表示水平方向拉伸区域为第56到第57个像素点;rl0,78为右黑边信息,表示竖直方向内容区域为第1〇到第78个像素点,第〇到第1〇个像素点和第78到第88个像素点是边距,不展现内容;b0,92为下黑边信息,表示水平方向内容区域为第〇到第92个像素点。[0064]子步骤S10212,将SVG格式的图片文件转换为第一代码文件。[0065]在本发明实施例中,第一代码文件可以是,但不限于具有九图标记的SVG格式的图片文件中,除了九图内容区域以外的其它图片内容进行转换,所生成的Java代码,也就是说,可以将SVG格式的图片文件中除九图标记以外的其他图片部分进行转换所生成的java代码。[0066]子步骤S10213,将九图属性信息添加至第一代码文件中,以获得特征代码。[0067]在本发明实施例中,将九图属性信息中的左上黑边信息解析并生成拉伸时需要计算的逻辑代码,将右下黑边解析并生成相应的内容边距代码,并将该逻辑代码和内容边距代码添加至第一代码文件中,即可获得特征代码。[0068]子步骤S1022,获取SVG格式的图片文件的同类型图元属性。[0069]在本发明实施例中,可以根据XML的树结构来获取图片文件的同类型图元属性,同类型图元属性可以是,但不限于图元的颜色属性、图元的形状属性、图元的渐变属性等。[0070]子步骤S1023,计算同类型图元属性的属性值,属性值构成属性数组,并将属性数组加入特征代码中。[0071]在本发明实施例中,同类型图元属性的属性值可以是,但不限于图元的颜色属性、图元的形状属性等的值,例如某个图元的颜色为红色,则其属性值也就是红色的RGB值为1,〇,〇,对于图元的形状等,则需要读取图元轮廓的像素点的坐标值。[0072]子步骤Sl〇24,将特征代码套用到预先设置的SVG代码模板,生成渲染代码文件,其中,渲染代码文件由Java代码构成。[0073]作为一种实施方式,由于转换的渲染文件代码最终将是一个java类,其中一部分内容是公共的,为了提高代码转换的效率,可以预先定义SVG代码模板,SVG代码模板可以是,但不限于是多个渲染代码文件的公共代码部分,例如Java类的头尾部分,生成渲染代码文件时,只需要将SVG格式的图片文件的特征代码写进SVG代码模板,即可得到最终输出的Java代码。SVG代码模板包括普通模板和九图模板,普通模板用于输出未有九图标记的SVG格式的图片文件的渲染文件代码,九图模板用于输出有九图标记的SVG格式的图片文件的渲染文件代码。[0074]在本发明实施例中,SVG格式的图片文件为多个,多个SVG格式的图片文件分别生成多个--对应的渲染代码文件。[0075]子步骤S1025,将多个渲染代码文件存入预先指定的资源目录中。[0076]在本发明实施例中,首先将每个渲染代码文件各自进行封装,然后将封装后的多个渲染代码文件存入预先指定的资源目录中,再将该资源目录打包到应用程序400的安装包中,这样可以精简代码,同时每个渲染代码文件均经过封装,故可以进行混淆,资源目录指的是应用程序400指定的资源目录,例如,UC浏览器指定的资源目录,只会打包到UC浏览器的安装包中。[0077]需要说明的是,SVG格式的图片文件转换为渲染代码文件后大小仍然非常小,做了代码精简甚至比SVG格式的图片文件还小,因此可以减小安装包的大小,在实际项目中替换了134个SVG格式的图片文件,图片资源大小减少了约75%。[0078]在本发明实施例中,除了将多个渲染代码文件存入预先指定的资源目录中,还需要将绘制渲染代码文件的渲染对象缓存至渲染对象池中,渲染对象可以是,但不限于矩阵、矩形、画笔、路径等,相应的渲染对象池可以是,但不限于矩阵对象池、矩形对象池、画笔对象池、路径对象池等,渲染对象和渲染对象池——对应,由于每个渲染代码文件的绘制需要若干个矩阵对象、矩形对象、画笔对象、路径对象等,而且每种渲染对象的使用数量与渲染代码文件的内容有关,如果让每个渲染代码文件持有相应的渲染对象,这样会有一定的内存开销以及频繁创建渲染对象的性能损耗,为了尽可能复用内存,建立渲染对象缓存池机制,预先实例化一定数量的渲染对象放到缓存池,在执行渲染代码文件的绘制时,其中用到的渲染对象均取自渲染对象池,只有当渲染代码文件比较复杂且需要使用的渲染对象超出渲染对象池时才动态创建相应的渲染对象。[0079]需要说明的是,在本发明实施例中,由于设置了渲染对象缓存机制,可供所有渲染代码文件复用,所以转换为渲染代码文件后的内存占用比动态解析的SVG矢量图还要少很多,例如,一个SVG矢量图的内存约0.8k,而一个栅格图的内存与图片大小成正比,icon级别大概十到几十k,大图级别甚至几百k。[00S0]子步骤Sl〇26,获取多个渲染代码文件在资源目录中的对应的存储地址,并将该多个植染代码文件对应的存储地址加入预先设置的地址映射表中。[0081]作为一种实施方式,将某个渲染代码文件存入资源目录之后,资源目录会生成一个该渲染代码文件的存储地址,将该存储地址进行读取,并存入预先设置的地址映射表中。[0082]步骤S103,从服务端下载渲染代码文件,其中,渲染代码文件通过第一图片文件转换而来,第一图片文件为基于标记语言的图片文件,渲染代码文件由非标记语言构成。[0083]在本发明实施例中,当某个客户端200需要安装应用程序400,或者安装于某个客户端200的应用程序400需要更新时,该客户端200从服务端100下载包含有渲染代码文件的应用程序400的安装包,并进行安装。[0084]步骤S104,响应用户操作,运行渲染代码文件,对渲染代码文件进行渲染绘制以得到第二图片文件。[0085]在本发明实施例中,响应用户操作的方式可以是,但不限于当用户点击安装于客户端2〇0的应用程序400的图标时,使得包含有渲染代码文件的应用程序代码运行时,则运行渲染代码文件,对渲染代码文件进行渲染绘制以得到第二图片文件,用户操作可以在应用程序400运行,使得需要使用SVG图片的界面加载时产生,作为一种实施方式,第二图片文件可以为客户端200的显示屏280上显示的图片。[0086]请参照图7,子步骤S104还包括以下子步骤:[0087]子步骤S1041,响应用户操作获取地址映射表中的任意一个渲染代码文件对应的存储地址。[0088]在本发明实施例中,可以当用户点击某个安装应用程序400,使得该应用程序400的应用程序代码运行时,获取地址映射表中的任意一个渲染代码文件对应的存储地址。[0089]需要说明的是,在本发明实施例中,由于将SVG格式的图片文件转换为渲染代码文件,使得加载时无需任何10操作即可直接绘制第二图片文件,而栅格图需要运行时做10操作读取资源,如果是九图还需要解析九图信息,所以本发明提供的图片处理方法加载速度比栅格图要快很多,在实际项目中,灰度数据统计显示第二图片文件首次加载速度比栅格图快了8倍以上,非首次由于栅格图和第二图片文件都有缓存,基本持平。[0090]子步骤S1042,根据任意一个渲染代码文件对应的存储地址在资源目录中获取与该存储地址对应的渲染代码文件。[0091]子步骤S1043,当渲染代码文件需要修改图元属性时,执行属性修改操作。[0092]在本发明实施例中,如果同一个图标复用了多次,则需要修改图元属性,当修改渲染代码文件中的图元属性时,把相邻的且属性值相同的图元集合在一起,定义为“层”,并增加图层修改接口,如果实际使用场景中,需要批量修改相邻的且属性值相同的图元属性时,通过图层修改接口可以快速地修改“层”中各图元的颜色属性,从而简化此场景的图元属性修改,实现快速修改多个图元的图元属性。[0093]需要说明的是,属性值的修改可以是,但不限于在渲染代码文件首席渲染前修改,或者在渲染过程中的任意时间段内修改,只要能确保修改属性值后刷新视图即可,另外,由于将SVG格式的图片文件转换成渲染代码文件存储到资源目录时,可以使用同名的渲染代码文件,为了避免修改一个渲染代码文件中的图元属性时,影响到其它同名的渲染代码文件,在进行属性修改操作时,必须先拷贝一份渲染代码文件对应的图片对象再进行属性修改。另外,由于能够修改图元属性,如果多个相似的SVG格式的图片文件只是图元颜色或者特效不冋时,就可以复用冋一个图片,只需修改不同的图元属性即可。[0094]请参照图8,子步骤S1043还包括以下子步骤:[0095]子步骤S104:31,响应用户操作,运行渲染代码文件,获取属性数组。[0096]在本发明实施例中,属性数组可以是,但不限于背景图元或非背景图元元的颜色、形状等的属性值,所组成的数组。[0097]子步骤S10432,对属性数组内的同类型图元属性的属性值进行修改。[0098]在本发明实施例中,修改图元属性的属性值后,则其图元属性相应改变,例如,将某个图元的RGB值从1,0,0修改为(1,1,0,则该图元的颜色就会相应的由红色变为黄色。另外,当属性数组中的多个相邻的同类型图元属性的属性值相同时,设置该多个同类型图元属性为图元集合,通过修改该图元集合的属性值来实现多个同类型图元属性属性值的批量修改。例如某个图片的背景图元为黄色,非背景图元中有3个相邻的图元,分别为图元i、图元2和图元3,且图元1、图元2和图元3的颜色均为红色,则可以将图元1、图元2和图元3作为一个图层,当图元1、图元2和图元3的颜色均需要修改为蓝色时,只需通过图层修改接口将属性值从(1,〇,〇修改为〇,〇,1,便可使得图元1、图元2和图元3的颜色均变成蓝色。[0099]子步骤S1044,当渲染代码文件包括九图属性信息时,根据九图属性信息确定待渲染的第二图片文件中的九图内容区域。[0100]在本发明实施例中,九图内容区域可以是,但不限于由竖直方向拉伸区域1的边距值和水平方向拉伸区域t的边距值所确定的拉伸区域,以及竖直方向内容边距r的边距值及水平方向内容边距b的边距值所确定的内容区域。[0101]子步骤S1045,运行渲染代码文件,对渲染代码文件进行渲染绘制得到第二图片文件。[0102]请参照图9,子步骤S1045还包括以下子步骤:[0103]子步骤S10451,获取缩放系数。[0104]在本发明实施例中,缩放系数是根据客户端200的分辨率来设置的,可以通过复制Android系统view目录下的Display代码来获取客户端200的分辨率,缩放系数的设置标准是使得第二图片文件在客户端200上显示时,放大不失真。[0105]子步骤S10452,根据缩放系数,确定待渲染的第二图片文件的顶点坐标。[0106]在本发明实施例中,待渲染的第二图片文件的顶点坐标可以是,但不限于缩放系数与第二图片文件的原顶点坐标的乘积,换句话说,首先读取渲染代码文件中第二图片文件的顶点坐标,用该顶点坐标乘以缩放系数就是待渲染的第二图片文件的顶点坐标,此时的顶点坐标是经缩放以后的顶点坐标。[0107]请参照图10,子步骤S10452还包括以下子步骤:[0108]子步骤S104521,当待渲染的第二图片文件中包括九图内容区域时,计算九图内容区域经九图拉伸操作后的目标顶点的坐标。[0109]在本发明实施例中,九图内容区域经九图拉伸操作后的目标顶点为(PathX,PathY,且[0110]PathX=OrgPathX+Dawableff-Orgff*LeftTopBWSTopBWS;[0111]PathY=0rgPathY+DawableH-〇rgH*TopLeftBWSLeftBWS;[0112]其中,OrgPathXY为未拉伸时的九图内容区域的顶点坐标,DrawableWH为客户端200上的控件的宽度高度,其是在客户端200运行时动态获取的,OrgWH为未拉伸时九图内容区域宽度高度,TopBWS为未拉伸时九图内容区域上黑边总比重,LeftBWS为未拉伸时九图内容区域左黑边总比重,LeftTopBW为未拉伸时顶点左方的九图内容区域上黑边总比重,TopLeftBWS为未拉伸时顶点上方的九图内容区域左黑边总比重。[0113]经过上述运算,便可计算出九图内容区域经九图拉伸操作后的目标顶点的坐标,通常目标顶点的坐标不会落在上左黑边,如果出现目标顶点的坐标落在上左黑边的情况,则还需进行以下修正:[0114]PathXTopBL=OrgPathX-CurTopBLeftX;[0115]PathYLeftBL=OrgPathY-CurLeftBTopY;[0116]FixPathX=PathX+Dawableff-Orgff*CurTopBffTopBWS*PathXTopBLCurTopBL;[0117]FixPathY=PathY+DawableH-〇rgH*CurLeftBffLeftBWS*PathYLeftBLCurLeftBL;[0118]其中,FixPathXY为目标顶点的坐标修正结果值,CurTopBL为未拉伸时九图内容区域上黑边长度,CurLeftBL为未拉伸时九图内容区域左黑边长度,CurTopBLeftX为未拉伸时九图内容区域上黑边左端点x坐标,CurLeftBTopY为未拉伸时九图内容区域左黑边上端点y坐标,PathXTopBL为目标顶点x坐标在上黑边上的长度,PathYLeftBL为目标顶点y坐标在左黑边上的长度,CurTopBW为目标顶点x所在的九图上黑边比重,CurLeftBW为目标Path顶点y所在的九图左黑边比重,Path为图形路径。[0119]子步骤S104522,根据目标顶点的坐标对待渲染的第二图片文件进行拉伸。[0120]在本发明实施例中,目标顶点是经九图拉伸操作后像素坐标点,渲染第二图片文件还需计算该目标顶点所对应的屏幕顶点坐标,屏幕顶点为目标顶点与像素密度系数的乘积,像素密度系数与客户端200的分辨率有关。[0121]子步骤S104523,根据缩放系数,确定经九图拉伸操作后的待渲染的第二图片文件的图形顶点坐标。[0122]子步骤S10453,基于顶点坐标,运行渲染代码文件得到第二图片文件。[0123]在本发明实施例中,根据缩放后的顶点坐标,对渲染代码文件进行渲染绘制以得到第二图片文件,由于是先缩放顶点再进行绘制,故第二图片文件可以在放大后不失真。[0124]本发明第一实施例提供的图片处理方法,首先,将多个SVG格式的图片文件分别转换为多个一一对应的渲染代码文件,并将每个渲染代码文件各自进行封装,实现了代码精简,可以有效减少占用内存的大小;第二,在转换渲染代码文件的过程中,引入SVG代码模板,将渲染代码文件的公共代码部分进行多次复用,提高了转代码的速度;第三,设置了渲染对象缓存机制,将绘制渲染代码文件的渲染对象缓存至渲染对象池中,可供所有渲染代码文件复用,提高渲染效率;第四,计算同类型图元属性的属性值构成属性数组,渲染时可以动态修改图元属性,高度复用图片资源,增强图片的灵活性,同时解决了资源冗余问题;第五,通过先缩放顶点坐标再绘制图片的图片渲染方式来解决了第二图片文件放大不失真的问题,并通过对SVG格式的图片文件自定义九图标记并实现其解析来解决SVG对九图的支持;与现有的遍历XML的树结构来解析SVG图片文件信息的方式相比,具有加载速度快、复杂图片渲染效率高的优点。[0125]第二实施例[0126]请参照图11,图11示出了本发明实施例提供的第一图片处理装置110的方框示意图。第一图片处理装置no包括图片获取模块m及文件转换模块112。[0127]图片获取模块111,用于获取客户端的第一图片文件,其中,第一图片文件为基于标记语言的图片文件。[0128]在本发明实施例中,图片获取模块111可以用于执行步骤S101。[0129]文件转换模块112,用于将第一图片文件转换为渲染代码文件,以在渲染代码文件在客户端被运行时对渲染代码文件进行渲染绘制以得到第二图片文件,其中渲染代码文件由非标记语言构成。[0130]在本发明实施例中,文件转换模块II2可以用于执行步骤S102。[0131]请参照图12,图12为图11示出的第一图片处理装置11〇中文件转换模块112的方框示意图。文件转换模块112包括文件转换单元1121、代码生成单元1122、图元属性获取单元1123、计算单元1124、文件存储单元1125及地址存储单元1126。[0132]文件转换单元1121,用于对SVG格式的图片文件进行转换,生成特征代码。[0133]在本发明实施例中,文件转换单元1121可以用于执行子步骤S1021。[0134]请参照图13,图13为图12示出的文件转换模块112中文件转换单元1121的方框示意图。文件转换单元1121包括第一子执行单元11211、第二子执行单元11212及第三子执行单元11213。[0135]第一子执行单元11211,用于当SVG格式的图片文件对应有九图标记时,将九图标记解析为九图属性信息。[0136]在本发明实施例中,第一子执行单元11211可以用于执行子步骤S10211。[0137]第二子执行单元11212,用于将SVG格式的图片文件转换为第一代码文件。[0138]在本发明实施例中,第二子执行单元11212可以用于执行子步骤S10212。[0139]第三子执行单元11213,用于将九图属性信息添加至第一代码文件中,以获得特征代码。[0140]在本发明实施例中,第三子执行单元im3可以用于执行子步骤S10213。[0141]代码生成单元1122,用于获取SVG格式的图片文件的同类型图元属性。[0142]在本发明实施例中,代码生成单元1122可以用于执行子步骤S1022。[0143]图元属性获取单元1123,用于计算同类型图元属性的属性值,属性值构成属性数组,并将属性数组加入特征代码中。[0144]在本发明实施例中,图元属性获取单元1123可以用于执行子步骤S1023。[0145]计算单元1124,用于将特征代码套用到预先设置的SVG代码模板,生成渲染代码文件,其中,渲染代码文件由Java代码构成。[0146]在本发明实施例中,计算单元1124可以用于执行子步骤S1024。[0147]文件存储单元1125,用于将多个渲染代码文件存入预先指定的资源目录中。[0148]在本发明实施例中,文件存储单元1125可以用于执行子步骤S1025。[0149]地址存储单元1126,用于获取多个渲染代码文件在资源目录中的对应的存储地址,并将该多个渲染代码文件对应的存储地址加入预先设置的地址映射表中。[0150]在本发明实施例中,地址存储单元1126可以用于执行子步骤S1026。[0151]请参照图14,图14示出了本发明实施例提供的第二图片处理装置210的方框示意图。第二图片处理装置210包括文件下载模块211和图片渲染模块212。[0152]文件下载模块211,用于从服务端下载渲染代码文件,其中,渲染代码文件通过第一图片文件转换而来,第一图片文件为基于标记语言的图片文件,渲染代码文件由非标记语言构成。[0153]在本发明实施例中,文件下载模块211可以用于执行步骤S103。[0154]图片渲染模块212,用于响应用户操作,运行渲染代码文件,对渲染代码文件进行渲染绘制以得到第二图片文件。[0155]在本发明实施例中,图片渲染模块212可以用于执行步骤S104。[0156]请参照图15,图15为图14示出的第二图片处理装置210中图片渲染模块212的方框示意图。图片渲染模块212包括地址加载单元2121、代码获取单元2122、修改单元2123、区域确定单元2124及图片渲染单元2125。[0157]地址加载单元2121,用于响应用户操作获取地址映射表中的任意一个渲染代码文件对应的存储地址。[0158]在本发明实施例中,地址加载单元2121可以用于执行子步骤S1041。[0159]代码获取单元2122,用于根据任意一个渲染代码文件对应的存储地址在资源目录中获取与该存储地址对应的渲染代码文件。[0160]在本发明实施例中,代码获取单元2122可以用于执行子步骤S1042。[0161]修改单元2123,用于当渲染代码文件需要修改图元属性时,执行属性修改操作操作。[0162]在本发明实施例中,修改单元2123可以用于执行子步骤S1043。[0163]请参照图16,图16为图15示出的图片渲染模块212中修改单元2123的方框示意图。修改单元2123包括第四子执行单元21231及第五子执行单元21232。[0164]第四子执行单元21231,用于响应用户操作,运行渲染代码文件,获取属性数组。[0165]在本发明实施例中,第四子执行单元21231可以用于执行子步骤S10431。[0166]第五子执行单元21232,用于对属性数组内的同类型图元属性的属性值进行修改。[0167]在本发明实施例中,第五子执行单元21232可以用于执行子步骤S10432。[0168]区域确定单元21以,用于当渲染代码文件包括九图属性信息时,根据九图属性信息确定待渲染的第二图片文件中的九图内容区域。[0169]在本发明实施例中,区域确定单元2124可以用于执行子步骤S1044。[0170]图片渲染单元2125,用于运行渲染代码文件,对渲染代码文件进行渲染绘制得到第二图片文件。[0171]在本发明实施例中,图片渲染单元2125可以用于执行子步骤S1045。[0172]请参照图17,图17为图17示出的图片渲染模块212中图片渲染单元2125的方框示意图。图片渲染单元2125包括第六子执行单元21251、第七子执行单元21252及第八子执行单元21253。[0173]第六子执行单元21251,用于获取缩放系数。[0174]在本发明实施例中,第六子执行单元21251可以用于执行子步骤S10451。[0175]第七子执行单元21四2,用于根据缩放系数,确定待渲染的第二图片文件的顶点坐标。[0176]在本发明实施例中,第七子执行单元21252可以用于执行子步骤S10452。[0177]请参照图18,图18为图17示出的图片渲染单元2125中第七子执行单元21252的方框示意图。第七子执行单元21252包括坐标计算单元212521、拉伸单元212522及坐标确定单元212523。[0178]坐标计算单元212521,用于当待渲染的第二图片文件中包括九图内容区域时,计算九图内容区域经九图拉伸操作后的目标顶点的坐标。[0179]在本发明实施例中,坐标计算单元212521可以用于执行子步骤S104521。[0180]拉伸单元212522,用于根据目标顶点的坐标对待渲染的第二图片文件进行拉伸。[0181]在本发明实施例中,拉伸单元212522可以用于执行子步骤S104522。[0182]坐标确定单元212523,用于根据缩放系数,确定经九图拉伸操作后的待渲染的第二图片文件的图形顶点坐标。[0183]在本发明实施例中,坐标确定单元212523可以用于执行子步骤S104523。[0184]第八子执行单元21253,用于基于顶点坐标,运行渲染代码文件得到第二图片文件。[0185]在本发明实施例中,第八子执行单元21253可以用于执行子步骤S10453。[0186]综上所述,本发明提供的一种图片处理方法、装置、服务端及客户端,服务端获取客户端的第一图片文件,其中,第一图片文件为基于标记语言的图片文件,并将第一图片文件转换为渲染代码文件,以在渲染代码文件在客户端被运行时对渲染代码文件进行渲染绘制以得到第二图片文件,其中渲染代码文件由非标记语言构成;客户端从服务端下载渲染代码文件,其中,渲染代码文件通过第一图片文件转换而来,第一图片文件为基于标记语言的图片文件,渲染代码文件由非标记语言构成;客户端响应用户操作,运行渲染代码文件,对渲染代码文件进行渲染绘制以得到第二图片文件。与现有的栅格图相比,可以有效减少占用内存的大小,同时图片放大不失真,与现有的遍历XML的树结构来解析SVG图片文件信息的方式相比,具有加载速度快、可局部修改渲染命令、支持九图、复杂图片渲染效率高的优点。[0187]在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和或流程图中的每个方框、以及框图和或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。[0188]另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。[0189]所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器R0M,Read-0nlyMemory、随机存取存储器RAM,RandomAccessMemory、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0190]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。'

权利要求:1.一种图片处理方法,其特征在于,所述方法应用于与客户端通信的服务端,所述方法包括:获取客户端的第一图片文件,其中,所述第一图片文件为基于标记语言的图片文件;将所述第一图片文件转换为渲染代码文件,以在所述渲染代码文件在客户端被运行时对所述渲染代码文件进行渲染绘制以得到第二图片文件,其中所述渲染代码文件由非标记语言构成。2.如权利要求1所述的方法,其特征在于,所述第一图片文件为SVG格式的图片文件,所述将所述第一图片文件转换为渲染代码文件的步骤,包括:对所述SVG格式的图片文件进行转换,生成特征代码;将所述特征代码套用到预先设置的SVG代码模板,生成渲染代码文件,其中,渲染代码文件由Java代码构成。3.如权利要求2所述的方法,其特征在于,所述SVG格式的图片文件为多个,所述多个SVG格式的图片文件分别生成多个一一对应的渲染代码文件,所述将所述第一图片文件转换为渲染代码文件的步骤,还包括:将多个渲染代码文件存入预先指定的资源目录中;获取所述多个渲染代码文件在资源目录中的对应的存储地址,并将该多个渲染代码文件对应的存储地址加入预先设置的地址映射表中。4.如权利要求2所述的方法,其特征在于,所述对所述SVG格式的图片文件进行转换,生成特征代码的步骤,包括:当所述SVG格式的图片文件对应有九图标记时,将所述九图标记解析为九图属性信息;将所述SVG格式的图片文件转换为第一代码文件;将所述九图属性信息添加至所述第一代码文件中,以获得所述特征代码。5.如权利要求2所述的方法,其特征在于,所述对所述SVG图片文件进行转换,生成特征代码的步骤之后,还包括:获取所述SVG格式的图片文件的同类型图元属性;计算所述同类型图元属性的属性值,所述属性值构成属性数组,并将所述属性数组加入所述特征代码中。6.—种图片处理方法,其特征在于,所述方法应用于与服务端通信的客户端,所述方法包括:从所述服务端下载渲染代码文件,其中,所述渲染代码文件通过第一图片文件转换而来,所述第一图片文件为基于标记语言的图片文件,所述渲染代码文件由非标记语言构成;响应用户操作,运行所述渲染代码文件,对所述渲染代码文件进行渲染绘制以得到第二图片文件。7.如权利要求6所述的方法,其特征在于,所述响应用户操作,运行所述渲染代码文件,对所述渲染代码文件进行渲染绘制以得到第二图片文件的步骤,包括:响应用户操作获取地址映射表中的任意一个渲染代码文件对应的存储地址;根据所述任意一个渲染代码文件对应的存储地址在资源目录中获取与该存储地址对应的渲染代码文件;运行所述渲染代码文件,对所述渲染代码文件进行渲染绘制得到第二图片文件。8.如权利要求7所述的方法,其特征在于,所述根据所述任意一个渲染代码文件对应的存储地址在资源目录中获取与该存储地址对应的渲染代码文件的步骤之后,还包括:当所述渲染代码文件需要修改图元属性时,执行属性修改操作。^9.如权利要求8所述的方法,其特征在于,所述属性修改操作包括:响应用户操作,运行所述渲染代码文件,获取属性数组;对所述属性数组内的同类型图元属性的属性值进行修改。10.如权利要求9所述的方法,其特征在于,所述对所述属性数组内的同类型图元属性的属性值进行修改的步骤包括:当属性数组中的多个相邻的同类型图元属性的属性值相同时,设置该多个同类型图元属性为图元集合,通过修改所述图元集合的属性值来实现该多个同类型图元属性属性值的批量修改。11.如权利要求8所述的方法,其特征在于,所述当所述渲染代码文件需要修改图元属性时,执行属性修改操作的步骤之后,还包括:当所述渲染代码文件包括九图属性信息时,根据所述九图属性信息确定待渲染的第二图片文件中的九图内容区域。12.如权利要求7所述的方法,其特征在于,所述运行所述渲染代码文件,对所述渲染代码文件进行渲染绘制得到第二图片文件的步骤,包括:获取缩放系数;根据所述缩放系数,确定待渲染的第二图片文件的顶点坐标;基于所述顶点坐标,运行所述渲染代码文件得到第二图片文件。13.如权利要求12所述的方法,其特征在于,所述根据所述缩放系数,确定待渲染的第二图片文件的顶点坐标的步骤,包括:当待渲染的第二图片文件中包括九图内容区域时,计算所述九图内容区域经九图拉伸操作后的目标顶点的坐标;根据所述目标顶点的坐标对待渲染的第二图片文件进行拉伸;根据所述缩放系数,确定经九图拉伸操作后的待渲染的第二图片文件的图形顶点坐标。14.一种图片处理装置,其特征在于,所述装置应用于与客户端通信的服务端,所述装置包括:图片获取模块,用于获取客户端的第一图片文件,其中,所述第一图片文件为基于标记语言的图片文件;文件转换模块,用于将所述第一图片文件转换为渲染代码文件,以在所述渲染代码文件在客户端被运行时对所述渲染代码文件进行渲染绘制以得到第二图片文件,其中所述渲染代码文件由非标记语言构成。15.如权利要求14所述的装置,其特征在于,所述第一图片文件为SVG格式的图片文件,所述文件转换模块包括:文件转换单元,用于对所述SVG格式的图片文件进行转换,生成特征代码;代码生成单元,用于将所述特征代码套用到预先设置的SVG代码模板,生成渲染代码文件。16.如权利要求15所述的装置,其特征在于,所述SVG格式的图片文件为多个,所述多个SVG格式的图片文件分别生成多个一一对应的渲染代码文件,所述文件转换模块还包括:文件存储单元,用于将多个渲染代码文件存入预先指定的资源目录中;地址存储单元,用于获取所述多个渲染代码文件在资源目录中的对应的存储地址,并将该多个渲染代码文件对应的存储地址加入预先设置的地址映射表中。17.如权利要求15所述的装置,其特征在于,所述文件转换单元包括:第一子执行单元,用于当所述SVG格式的图片文件对应有九图标记时,将所述九图标记解析为九图属性信息;第二子执行单元,用于将所述SVG格式的图片文件转换为第一代码文件;第三子执行单元,用于将所述九图属性信息添加至所述第一代码文件中,以获得所述特征代码。18.如权利要求15所述的装置,其特征在于,所述文件转换模块还包括:图元属性获取单元,用于获取所述SVG格式的图片文件的同类型图元属性;计算单元,用于计算所述同类型图元属性的属性值,所述属性值构成属性数组,并将所述属性数组加入所述特征代码中。19.一种图片处理装置,其特征在于,所述装置应用于与服务端通信的客户端,所述装置包括:文件下载模块,用于从所述服务端下载渲染代码文件,其中,所述渲染代码文件通过所述第一图片文件转换而来,其中,第一图片文件为基于标记语言的图片文件,所述渲染代码文件由非标记语言构成;图片渲染模块,用于基于响应用户操作,运行所述渲染代码文件,对所述渲染代码文件进行渲染绘制以得到第二图片文件。20.如权利要求19所述的装置,其特征在于,所述图片渲染模块包括:地址加载单元,用于响应用户操作获取地址映射表中的任意一个渲染代码文件对应的存储地址;代码获取单元,用于根据所述任意一个渲染代码文件对应的存储地址在资源目录中获取与该存储地址对应的渲染代码文件;图片渲染单元,用于运行所述渲染代码文件,对所述渲染代码文件进行渲染绘制得到第二图片文件。21.如权利要求20所述的装置,其特征在于,所述图片渲染模块还包括:修改单元,用于当所述渲染代码文件需要修改图元属性时,执行属性修改操作。22.如权利要求21所述的装置,其特征在于,所述修改单元包括:第四子执行单元,用于响应用户操作,运行所述渲染代码文件,获取属性数组;第五子执行单元,用于对所述属性数组内的同类型图元属性的属性值进行修改。23.如权利要求21所述的装置,其特征在于,所述图片渲染模块还包括:区域确定单元,用于当所述渲染代码文件包括九图属性信息时,根据所述九图属性信息确定待渲染的第二图片文件中的九图内容区域。24.如权利要求20所述的装置,其特征在于,所述图片渲染单元包括:第六子执行单元,用于获取缩放系数;第七子执行单元,用于根据所述缩放系数,确定待渲染的第二图片文件的顶点坐标;第八子执行单元,用于基于所述顶点坐标,运行所述渲染代码得到第二图片文件。25.如权利要求24所述的装置,其特征在于,所述第七子执行单元包括:坐标计算单元,用于当待渲染的第二图片文件中包括九图内容区域时,计算所述九图内容区域经九图拉伸操作后的目标顶点的坐标;拉伸单元,用于根据所述目标顶点的坐标对待渲染的第二图片文件进行拉伸;坐标确定单元,用于根据所述缩放系数,确定经九图拉伸操作后的待渲染的第二图片文件的图形顶点坐标。26.一种服务端,其特征在于,所述服务端包括:第一存储器;第一处理器;以及图片处理装置,所述图片处理装置安装于所述第一存储器中并包括一个或多个由所述第一处理器执行的软件功能模组,其包括:图片获取模块,用于获取客户端的第一图片文件,其中,所述第一图片文件为基于标记语言的图片文件;文件转换模块,用于将所述第一图片文件转换为渲染代码文件,以在所述渲染代码文件被运行时对所述渲染代码文件进行渲染绘制以得到第二图片文件,其中所述渲染代码文件由非标记语言构成。27.—种客户端,其特征在于,所述客户端包括:第二存储器;第二处理器;以及图片处理装置,所述图片处理装置安装于所述第二存储器中并包括一个或多个由所述第二处理器执行的软件功能模组,其包括:文件下载模块,用于从服务端下载渲染代码文件,其中,所述渲染代码文件通过所述第一图片文件转换而来,其中,所述第一图片文件为基于标记语言的图片文件,所述渲染代码文件由非标记语言构成;图片渲染模块,用于响应用户操作,运行所述渲染代码文件,对所述渲染代码文件进行渲染绘制以得到第二图片文件。

百度查询: 阿里巴巴(中国)有限公司 图片处理方法、装置、服务端及客户端

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。