CN114398124A - 基于iOS系统的点九效果图渲染方法及其相关装置 - Google Patents

基于iOS系统的点九效果图渲染方法及其相关装置 Download PDF

Info

Publication number
CN114398124A
CN114398124A CN202111672805.7A CN202111672805A CN114398124A CN 114398124 A CN114398124 A CN 114398124A CN 202111672805 A CN202111672805 A CN 202111672805A CN 114398124 A CN114398124 A CN 114398124A
Authority
CN
China
Prior art keywords
picture
rendering
point
effect
vertical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111672805.7A
Other languages
English (en)
Other versions
CN114398124B (zh
Inventor
周潇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhenai Jieyun Information Technology Co ltd
Original Assignee
Shenzhen Zhenai Jieyun Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhenai Jieyun Information Technology Co ltd filed Critical Shenzhen Zhenai Jieyun Information Technology Co ltd
Priority to CN202111672805.7A priority Critical patent/CN114398124B/zh
Publication of CN114398124A publication Critical patent/CN114398124A/zh
Application granted granted Critical
Publication of CN114398124B publication Critical patent/CN114398124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及点九效果图渲染领域,公开了一种基于iOS系统的点九效果图渲染方法及其相关装置。该方法包括:接收待渲染的图片数据;判断所述图片数据的图片格式是否为点九图格式;若为所述点九图格式,则获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图;若不为所述点九图格式,则基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片。

Description

基于iOS系统的点九效果图渲染方法及其相关装置
技术领域
本发明涉及点九效果图渲染领域,尤其涉及一种基于iOS系统的点九效果图渲染方法及其相关装置。
背景技术
智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化而产生拉伸,造成图形的失真变形。Android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边角会模糊失真。在android平台下使用点九PNG技术,可以将图片横向和纵向同时进行拉伸,以实现在多分辨率下的完美显示效果。使用了点九效果图技术后,只需要采用一套界面切图去适配不同的分辨率,而且大幅减少安装包的大小。而且这样程序不需要专门做处理的就可以实现其拉伸,也减少了代码量和开发工作量。
但是,系统应用上来说点九效果图技术只在android平台下才能应用,而在IOS系统是无法使用的。在开发出了一种能在iOS系统中显示点九效果图的技术后,发现渲染过程沿用iOS系统自带的渲染方式渲染点九效果图经常会出现乱码或者是不匹配的情况,需要解决iOS系统渲染点九效果图不匹配的技术问题。
发明内容
本发明的主要目的在于解决沿用iOS系统自带的渲染方式渲染点九效果图经常会出现乱码或者是不匹配的情况的技术问题。
本发明第一方面提供了一种基于iOS系统的点九效果图渲染方法,包括步骤:
接收待渲染的图片数据;
判断所述图片数据的图片格式是否为点九图格式;
若为所述点九图格式,则获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图;
若不为所述点九图格式,则基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片。
可选的,在本发明第一方面的第一种实现方式中,其特征在于,所述获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图:
获取预置点九效果图框架,所述点九效果图框架包括:点九效果图裁剪框架、点九效果图渲染框架,其中,所述点九效果图渲染框架包括:N个放缩渲染区域和M个固定渲染区域,所述点九效果图裁剪框架包括:N+M个固定裁剪区域,其中,M、N为正整数,所述固定裁剪区域对应于所述放缩渲染区域和所述固定渲染区域;
根据所述点九效果图裁剪框架,对所述图片数据进行拆分处理,得到拆分图片集;
基于所述固定裁剪区域与所述固定渲染区域的对应关系,将所述拆分图片集复制填入所述M个固定渲染区域,得到初步渲染的点九效果图渲染框架;
基于所述固定裁剪区域与所述放缩渲染区域的对应关系,将所述拆分图片集放缩填入所述初步渲染的点九效果图渲染框架中,得到所述iOS点九效果图。
可选的,在本发明第一方面的第二种实现方式中,所述基于所述固定裁剪区域与所述放缩渲染区域的对应关系,将所述拆分图片集放缩填入所述初步渲染的点九效果图渲染框架中,得到iOS系统的点九效果图包括:
分析所述N个放缩渲染区域的放缩水平长度和放缩垂直长度,得到所述点九效果图渲染框架的水平放缩总长度、垂直放缩总长度;
统计所述M个固定渲染区域的水平长度和垂直长度,得到所述点九效果图渲染框架的垂直固定总长度、垂直固定总长度;
根据所述水平放缩总长度和水平固定总长度,得到水平放缩比例,以及根据所述垂直放缩总长度和所述垂直固定总长度,得到垂直放缩比例;
提取在所述拆分图片集中与所述固定裁剪区域对应的拆分图片,以及分析所述固定裁剪区域与所述放缩渲染区域的放缩关系,得到所述放缩渲染区域的水平拉伸占比值和垂直拉伸占比值;
根据所述水平拉伸占比值和所述垂直拉伸占比值占比的大小,按照所述垂直放缩比例和所述水平放缩比例,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述水平放缩值和所述放缩值占比的大小,按照所述垂直放缩比例和所述水平放缩比例,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中包括:
判断所述水平拉伸占比值是否大于零;
若水平拉伸占比值比大于零,则将所述水平拉伸总长度和所述水平放缩比例相乘,得到绘制宽度;
若水平拉伸占比值不大于零,则读取所述拆分图片的拆分水平长度,将所述拆分水平长度与所述水平放缩比例相乘,得到绘制宽度;
判断所述垂直拉伸占比值是否大于零;
若垂直拉伸占比值比大于零,将所述垂直拉伸总长度和所述垂直放缩比例相乘,得到绘制长度;
若垂直拉伸占比值不大于零,读取所述拆分图片的拆分垂直长度,将所述拆分垂直长度与所述垂直放缩比例相乘,得到绘制长度;
根据所述绘制长度和所述绘制宽度,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中。
可选的,在本发明第一方面的第四种实现方式中,所述根据所述绘制长度和所述绘制宽度,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中包括:
分析所述点九效果图渲染框架的垂直方向,根据所述绘制长度和所述绘制宽度,将所述拆分图片集中拆分图片按照所述垂直方向的相反方向进行渲染。
可选的,在本发明第一方面的第五种实现方式中,所述基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片,包括:
读取预置显示组件的垂直数据和水平数据,读取所述图片数据的图片垂直长度和图片水平长度;
根据所述垂直数据、所述水平数据、所述图片垂直长度、所述图片水平长度,将所述图片数据进行水平垂直拉伸处理,得到填充至所述显示组件的图片。
可选的,在本发明第一方面的第六种实现方式中,所述判断所述图片数据的图片格式是否为点九图格式包括:
读取所述图片数据的格式字符串;
判断所述格式字符串是否为.9.PNG。
本发明第二方面提供了一种基于iOS系统的点九效果图渲染装置,所述基于iOS系统的点九效果图渲染装置包括:
接收模块,用于接收待渲染的图片数据;
判断模块,用于判断所述图片数据的图片格式是否为点九图格式;
点九效果图渲染模块,用于若为所述点九图格式,则获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图;
缩放模块,用于若不为所述点九图格式,则基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片。
本发明第三方面提供了一种基于iOS系统的点九效果图渲染设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于iOS系统的点九效果图渲染设备执行上述的基于iOS系统的点九效果图渲染方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于iOS系统的点九效果图渲染方法。
在本发明实施例中,在开发出在iOS系统能显示点九效果图的基础上,通过自定义渲染框架和渲染方式,解决了沿用iOS系统自带的渲染方式渲染点九效果图经常会出现乱码或者是不匹配的情况的技术问题。
附图说明
图1为本发明实施例中基于iOS系统的点九效果图渲染方法的一个实施例示意图;
图2为本发明实施例中基于iOS系统的PNG图数据结构的示意图;
图3为本发明实施例中基于iOS系统的点九效果图数据结构的示意图;
图4为本发明实施例中基于iOS系统的九点图缩放框架的示意图;
图5为本发明实施例中基于iOS系统的点九效果图渲染装置的一个实施例示意图;
图6为本发明实施例中基于iOS系统的点九效果图渲染装置的另一个实施例示意图;
图7为本发明实施例中基于iOS系统的点九效果图渲染设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于iOS系统的点九效果图渲染方法及其相关装置。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于iOS系统的点九效果图渲染方法的一个实施例包括:
101、接收待渲染的图片数据;
102、判断图片数据的图片格式是否为点九图格式;
在101-102步骤,需要先对图片数据进行分辨,如果是普通image格式不需要采用点九效果图的渲染方式,普通的iOS系统渲染方式即可。
进一步的,在102还可以执行以下步骤:
1021、读取图片数据的格式字符串;
1022、判断格式字符串是否为.9.PNG
在1021-1022步骤中,这里需要说明点九效果图如何在IOS系统中显示,因为现有技术不存在点九效果图如何在IOS系统中显示的方案,基于该方案才能有改进渲染方式。
点九效果图生成指令是在IOS系统激活的,这里需要说明普通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的数据组成定义是不同的。
基于点九效果图与PNG图的数据结构不同,因此在IOS系统中的点九效果图生成过程实际上是与普通PNG图完全不同,而且也不能使用安卓上的生成方式。
Bytes Utils组件是字节处理工具,负责文件字节流的读取、截取、大小端兼容工作,负责将字节转化成点九效果图的数据结构。
NinePatchKit是一套iOS端的点九效果图渲染框架,NinePatchKit负责生成九点图对象和提供九点图容器,通过苹果的CocoaPods命令行能快速将NinePatchKit集成到项目工程中。如图4展示的九点图缩放框架,左边和上边的黑线分别表示水平和垂直的缩放区域,缩放区域可以有多段,同一方向坐标轴上,若有多段,则代表这个方向上的缩放区域有多段,且这个方向的缩放区域跟线长成正比(例如:上图垂直方向标记有两个垂直拉伸区域,且两个表记线长为1:1,代表当垂直方向需要拉伸或压缩时,这两个区域的拉伸或压缩程度时相同的);右边和下边的黑线分别表示水平和垂直的内容区域,黑线图经过编译后,会将这些信息坐标放到npTc Chunk段中,生成最终的点九效果图。
Bytes Utils组件是字节处理工具,负责文件字节流的读取、截取、大小端兼容工作,负责将字节转化成点九效果图的数据结构。
先要分析头部字符串是否为“89504e470d0a1a0a”,如果确定是PNG字符串标识,则继续处理结构图片数据。而如果不是PNG字符串标识,则直接结束处理过程。在确定为PNG字符串标识,则确定索引字符数为8,然后进一步判断PNG字符串标识后是否还有字符串。如果后续还有字符,则解析长度码、数据块类型码、图片内容数据块、CRC验证码。每次解析长度码,则在索引字符数中增加4,每次解析数据块类型码,则在索引字符数中增加4,每次解析图片内容数据块,则在索引字符数中增加长度码对应的数据大小,也即是图片内容数据块的字符数。CRC验证码的处理过程不同,解析完成CRC验证码后将校验的图片内容数据块的字符数添加至索引字符数。通过对索引字符数的数值判断是否完成了Chunk Data的扩展,如果完成扩展,则基于PNG Parser插件直接进行解析,多个Chunk数据需要不断循环读取解析。
直接分块进行填充绘图框架,参考图4,边缘不用缩放的区域则固定为原来的区域,而中心描黑的水平拉升区域和垂直拉升区域需要根据内容按照显示屏幕的比例进行拉升或者缩放,这里的拉升或者缩放表示的是一种系数,例如放缩比例大于1则是拉升,放缩比例小于1则是缩放。
先基于框架的结构进行拆解,这里拆解是根据框架的分割数量决定的。对框架中需要放缩区域分别进行横坐标缩放再进行纵坐标放缩,或者先进行纵坐标放缩再进行横坐标放缩,得到多个缩放后的图片解密子数据。这里的图片解密子数据都是一个独立单元,再根据原先的单元映射关系整体填充回绘图框架中,得到在IOS系统中的点九效果图。
103、若为点九图格式,则获取预置点九效果图框架,根据预置渲染显示算法,将图片数据裁剪填充至点九效果图框架中,得到图片数据对应的iOS点九效果图;
在本实施例中,如果图片数据格式是点九效果图的格式,则需要先将图片数据裁剪开,将需要缩放图片进行缩放以保证填充至点九效果图框架中,而需要保持原样的图片数据不进行直接复制在点九效果图框架中,完成所有裁剪的图片裁剪填充后,得到iOS系统的点九效果图。
进一步的,在103可以执行以下操作:
1031、获取预置点九效果图框架,点九效果图框架包括:点九效果图裁剪框架、点九效果图渲染框架,其中,点九效果图渲染框架包括:N个放缩渲染区域和M个固定渲染区域,点九效果图裁剪框架包括:N+M个固定裁剪区域,其中,M、N为正整数,固定裁剪区域对应于放缩渲染区域和固定渲染区域;
1032、根据点九效果图裁剪框架,对图片数据进行拆分处理,得到拆分图片集;
1033、基于固定裁剪区域与固定渲染区域的对应关系,将拆分图片集复制填入M个固定渲染区域,得到初步渲染的点九效果图渲染框架;
1034、基于固定裁剪区域与放缩渲染区域的对应关系,将拆分图片集放缩填入初步渲染的点九效果图渲染框架中,得到iOS点九效果图。
在1031-1034步骤中,点九效果图裁剪框架是用来裁剪图像的内容,N+M个固定裁剪区域裁剪图片数据分为N+M个拆分图片,而N+M个固定裁剪区域对应着N个放缩渲染区域和M个固定渲染区域。如果把点九效果图裁剪框架和点九效果图渲染框架看成处理图像的矩阵,则该两个矩阵的形状一致,且固定裁剪区域作为元素和放缩渲染区域、固定渲染区域作为元素是位置对应的。
M个固定渲染区域与对应的M个固定裁剪区域是对应的,将固定裁剪区的拆分图片直接复制在M个固定渲染区域。而M个固定渲染区域对应的拆分图片,需要在N个放缩渲染区域进行放缩处理。
进一步的,在1034可以执行以下步骤:、
10341、分析N个放缩渲染区域的放缩水平长度和放缩垂直长度,得到点九效果图渲染框架的水平放缩总长度、垂直放缩总长度;
10342、统计M个固定渲染区域的水平长度和垂直长度,得到点九效果图渲染框架的垂直固定总长度、垂直固定总长度;
10343、根据水平放缩总长度和水平固定总长度,得到水平放缩比例,以及根据垂直放缩总长度和垂直固定总长度,得到垂直放缩比例;
10344、提取在拆分图片集中与固定裁剪区域对应的拆分图片,以及分析固定裁剪区域与放缩渲染区域的放缩关系,得到放缩渲染区域的水平拉伸占比值和垂直拉伸占比值;
10345、根据水平拉伸占比值和垂直拉伸占比值占比的大小,按照垂直放缩比例和水平放缩比例,将拆分图片填充至初步渲染的点九效果图渲染框架中。
在10341-10345步骤中,Tw为水平固定总长度,Th为垂直固定总长度,Lw为水平放缩总长度,Lh为垂直放缩总长度,水平放缩比例Rw=Lw/(Tw+Lw),垂直放缩比例Rh=Ch/(Th+Lh),放缩渲染区域的水平拉伸占比值为Erw,放缩渲染区域的垂直拉伸占比值Erh,放缩包含有拉伸的内容,需要根据Erh和Erw的大小来渲染拆分图片在放缩渲染区域中,循环填充N个放缩渲染区域对应的拆分图片,直至将所有N个放缩渲染区域都渲染进点九效果图渲染框架中,实现整个点九效果图的渲染。
进一步的,在10345可以执行以下步骤:
103451、判断水平拉伸占比值是否大于零;
103452、若水平拉伸占比值比大于零,则将水平拉伸总长度和水平放缩比例相乘,得到绘制宽度;
103453、若水平拉伸占比值不大于零,则读取拆分图片的拆分水平长度,将拆分水平长度与水平放缩比例相乘,得到绘制宽度;
103454、判断垂直拉伸占比值是否大于零;
103455、若垂直拉伸占比值比大于零,将垂直拉伸总长度和垂直放缩比例相乘,得到绘制长度;
103456、若垂直拉伸占比值不大于零,读取拆分图片的拆分垂直长度,将拆分垂直长度与垂直放缩比例相乘,得到绘制长度;
103457、根据绘制长度和绘制宽度,将拆分图片填充至初步渲染的点九效果图渲染框架中。
在103451-103457步骤中,先判断水平拉伸占比值Erw是否大于零,如果水平拉伸占比值Erw大于零则将绘制宽度等于水平拉伸总长度Lw*水平放缩比例Rw,如果水平拉伸占比值Erw不大于零,先读取拆分图片的拆分水平长度Dw,将绘制宽度等于Dw*Rw。
再判断垂直拉伸占比值Erh是否大于零,如果垂直拉伸占比值Erh大于零则将绘制长度Dh等于Lh*Rh,如果垂直拉伸占比值Erh不大于零则读取拆分图片的拆分垂直长度Dh将绘制长度等于Dh*垂直放缩比例Rh。
绘制长度和绘制宽度计算出来后再将拆分图片根据长宽值渲染到点九效果图渲染框架中。
进一步的,在103457可以执行以下步骤:
1034571、分析点九效果图渲染框架的垂直方向,根据绘制长度和绘制宽度,将拆分图片集中拆分图片按照垂直方向的相反方向进行渲染。
在1034571步骤中,点九效果图框架垂直方向由下至上是iOS系统正向方向,而绘制方向需要从下至上,这是由于iOS系统内部的系统决定不能更改,这这里涉及底层原因不做赘述。
104、若不为点九图格式,则基于预置显示组件的尺寸大小,对图片数据进行缩放处理,得到图片数据对应的缩放图片。
在本实施例中,不是点九效果图可以根据现有iOS系统渲染方式进行渲染,在此不做过多赘述。
进一步的,104可以执行以下步骤:
1041、读取预置显示组件的垂直数据和水平数据,读取图片数据的图片垂直长度和图片水平长度;
1042、根据垂直数据、水平数据、图片垂直长度、图片水平长度,将图片数据进行水平垂直拉伸处理,得到填充至显示组件的图片。
在1041-1042步骤中,对现有iOS系统渲染方式进行调整,先计算出来横纵拉升比例,基于横纵拉升比例对图片数据进行整体放缩处理,得到显示组件的图片。
在本发明实施例中,在开发出在iOS系统能显示点九效果图的基础上,通过自定义渲染框架和渲染方式,解决了沿用iOS系统自带的渲染方式渲染点九效果图经常会出现乱码或者是不匹配的情况的技术问题。
上面对本发明实施例中基于iOS系统的点九效果图渲染方法进行了描述,下面对本发明实施例中基于iOS系统的点九效果图渲染装置进行描述,请参阅图5,本发明实施例中基于iOS系统的点九效果图渲染装置一个实施例包括:
接收模块501,用于接收待渲染的图片数据;
判断模块502,用于判断所述图片数据的图片格式是否为点九图格式;
点九效果图渲染模块503,用于若为所述点九图格式,则获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图;
缩放模块504,用于若不为所述点九图格式,则基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片。
在本发明实施例中,在开发出在iOS系统能显示点九效果图的基础上,通过自定义渲染框架和渲染方式,解决了沿用iOS系统自带的渲染方式渲染点九效果图经常会出现乱码或者是不匹配的情况的技术问题。
请参阅图6,本发明实施例中基于iOS系统的点九效果图渲染装置的另一个实施例包括:
接收模块501,用于接收待渲染的图片数据;
判断模块502,用于判断所述图片数据的图片格式是否为点九图格式;
点九效果图渲染模块503,用于若为所述点九图格式,则获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图;
缩放模块504,用于若不为所述点九图格式,则基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片。
其中,点九效果图渲染模块503包括:
获取单元5031,用于获取预置点九效果图框架,所述点九效果图框架包括:点九效果图裁剪框架、点九效果图渲染框架,其中,所述点九效果图渲染框架包括:N个放缩渲染区域和M个固定渲染区域,所述点九效果图裁剪框架包括:N+M个固定裁剪区域,其中,M、N为正整数,所述固定裁剪区域对应于所述放缩渲染区域和所述固定渲染区域;
拆分单元5032,用于根据所述点九效果图裁剪框架,对所述图片数据进行拆分处理,得到拆分图片集;
复制填入单元5033,用于基于所述固定裁剪区域与所述固定渲染区域的对应关系,将所述拆分图片集复制填入所述M个固定渲染区域,得到初步渲染的点九效果图渲染框架;
缩放填入单元5034,用于基于所述固定裁剪区域与所述放缩渲染区域的对应关系,将所述拆分图片集放缩填入所述初步渲染的点九效果图渲染框架中,得到所述iOS点九效果图。
其中,所述缩放填入单元5034具体用于:
分析所述N个放缩渲染区域的放缩水平长度和放缩垂直长度,得到所述点九效果图渲染框架的水平放缩总长度、垂直放缩总长度;
统计所述M个固定渲染区域的水平长度和垂直长度,得到所述点九效果图渲染框架的垂直固定总长度、垂直固定总长度;
根据所述水平放缩总长度和水平固定总长度,得到水平放缩比例,以及根据所述垂直放缩总长度和所述垂直固定总长度,得到垂直放缩比例;
提取在所述拆分图片集中与所述固定裁剪区域对应的拆分图片,以及分析所述固定裁剪区域与所述放缩渲染区域的放缩关系,得到所述放缩渲染区域的水平拉伸占比值和垂直拉伸占比值;
根据所述水平拉伸占比值和所述垂直拉伸占比值占比的大小,按照所述垂直放缩比例和所述水平放缩比例,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中。
其中,所述缩放填入单元5034还具体用于:
判断所述水平拉伸占比值是否大于零;
若水平拉伸占比值比大于零,则将所述水平拉伸总长度和所述水平放缩比例相乘,得到绘制宽度;
若水平拉伸占比值不大于零,则读取所述拆分图片的拆分水平长度,将所述拆分水平长度与所述水平放缩比例相乘,得到绘制宽度;
判断所述垂直拉伸占比值是否大于零;
若垂直拉伸占比值比大于零,将所述垂直拉伸总长度和所述垂直放缩比例相乘,得到绘制长度;
若垂直拉伸占比值不大于零,读取所述拆分图片的拆分垂直长度,将所述拆分垂直长度与所述垂直放缩比例相乘,得到绘制长度;
根据所述绘制长度和所述绘制宽度,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中。
其中,所述缩放填入单元5034还具体用于:
分析所述点九效果图渲染框架的垂直方向,根据所述绘制长度和所述绘制宽度,将所述拆分图片集中拆分图片按照所述垂直方向的相反方向进行渲染。
其中,所述缩放模块504具体用于:
读取预置显示组件的垂直数据和水平数据,读取所述图片数据的图片垂直长度和图片水平长度;
根据所述垂直数据、所述水平数据、所述图片垂直长度、所述图片水平长度,将所述图片数据进行水平垂直拉伸处理,得到填充至所述显示组件的图片。
其中,所述判断模块502具体用于:
读取所述图片数据的格式字符串;
判断所述格式字符串是否为.9.PNG。
在本发明实施例中,在开发出在iOS系统能显示点九效果图的基础上,通过自定义渲染框架和渲染方式,解决了沿用iOS系统自带的渲染方式渲染点九效果图经常会出现乱码或者是不匹配的情况的技术问题。
上面图5和图6从模块化功能实体的角度对本发明实施例中的基于iOS系统的点九效果图渲染装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于iOS系统的点九效果图渲染设备进行详细描述。
图7是本发明实施例提供的一种基于iOS系统的点九效果图渲染设备的结构示意图,该基于iOS系统的点九效果图渲染设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于iOS系统的点九效果图渲染设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在基于iOS系统的点九效果图渲染设备700上执行存储介质730中的一系列指令操作。
基于iOS系统的点九效果图渲染设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7展示的基于iOS系统的点九效果图渲染设备结构并不构成对基于iOS系统的点九效果图渲染设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于iOS系统的点九效果图渲染方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于iOS系统的点九效果图渲染方法,其特征在于,所述方法包括步骤:
接收待渲染的图片数据;
判断所述图片数据的图片格式是否为点九图格式;
若为所述点九图格式,则获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图;
若不为所述点九图格式,则基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片。
2.根据权利要求1所述的基于iOS系统的点九效果图渲染方法,其特征在于,所述获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图:
获取预置点九效果图框架,所述点九效果图框架包括:点九效果图裁剪框架、点九效果图渲染框架,其中,所述点九效果图渲染框架包括:N个放缩渲染区域和M个固定渲染区域,所述点九效果图裁剪框架包括:N+M个固定裁剪区域,其中,M、N为正整数,所述固定裁剪区域对应于所述放缩渲染区域和所述固定渲染区域;
根据所述点九效果图裁剪框架,对所述图片数据进行拆分处理,得到拆分图片集;
基于所述固定裁剪区域与所述固定渲染区域的对应关系,将所述拆分图片集复制填入所述M个固定渲染区域,得到初步渲染的点九效果图渲染框架;
基于所述固定裁剪区域与所述放缩渲染区域的对应关系,将所述拆分图片集放缩填入所述初步渲染的点九效果图渲染框架中,得到所述iOS点九效果图。
3.根据权利要求2所述的基于iOS系统的点九效果图渲染方法,其特征在于,所述基于所述固定裁剪区域与所述放缩渲染区域的对应关系,将所述拆分图片集放缩填入所述初步渲染的点九效果图渲染框架中,得到iOS系统的点九效果图包括:
分析所述N个放缩渲染区域的放缩水平长度和放缩垂直长度,得到所述点九效果图渲染框架的水平放缩总长度、垂直放缩总长度;
统计所述M个固定渲染区域的水平长度和垂直长度,得到所述点九效果图渲染框架的垂直固定总长度、垂直固定总长度;
根据所述水平放缩总长度和水平固定总长度,得到水平放缩比例,以及根据所述垂直放缩总长度和所述垂直固定总长度,得到垂直放缩比例;
提取在所述拆分图片集中与所述固定裁剪区域对应的拆分图片,以及分析所述固定裁剪区域与所述放缩渲染区域的放缩关系,得到所述放缩渲染区域的水平拉伸占比值和垂直拉伸占比值;
根据所述水平拉伸占比值和所述垂直拉伸占比值占比的大小,按照所述垂直放缩比例和所述水平放缩比例,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中。
4.根据权利要求3所述的基于iOS系统的点九效果图渲染方法,其特征在于,所述根据所述水平放缩值和所述放缩值占比的大小,按照所述垂直放缩比例和所述水平放缩比例,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中包括:
判断所述水平拉伸占比值是否大于零;
若水平拉伸占比值比大于零,则将所述水平拉伸总长度和所述水平放缩比例相乘,得到绘制宽度;
若水平拉伸占比值不大于零,则读取所述拆分图片的拆分水平长度,将所述拆分水平长度与所述水平放缩比例相乘,得到绘制宽度;
判断所述垂直拉伸占比值是否大于零;
若垂直拉伸占比值比大于零,将所述垂直拉伸总长度和所述垂直放缩比例相乘,得到绘制长度;
若垂直拉伸占比值不大于零,读取所述拆分图片的拆分垂直长度,将所述拆分垂直长度与所述垂直放缩比例相乘,得到绘制长度;
根据所述绘制长度和所述绘制宽度,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中。
5.根据权利要求4所述的基于iOS系统的点九效果图渲染方法,其特征在于,所述根据所述绘制长度和所述绘制宽度,将所述拆分图片填充至所述初步渲染的点九效果图渲染框架中包括:
分析所述点九效果图渲染框架的垂直方向,根据所述绘制长度和所述绘制宽度,将所述拆分图片集中拆分图片按照所述垂直方向的相反方向进行渲染。
6.根据权利要求1所述的基于iOS系统的点九效果图渲染方法,其特征在于,所述基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片包括:
读取预置显示组件的垂直数据和水平数据,读取所述图片数据的图片垂直长度和图片水平长度;
根据所述垂直数据、所述水平数据、所述图片垂直长度、所述图片水平长度,将所述图片数据进行水平垂直放缩处理,得到填充至所述显示组件的图片。
7.根据权利要求1所述的基于iOS系统的点九效果图渲染方法,其特征在于,所述判断所述图片数据的图片格式是否为点九图格式包括:
读取所述图片数据的格式字符串;
判断所述格式字符串是否为.9.PNG。
8.一种基于iOS系统的点九效果图渲染装置,其特征在于,所述基于iOS系统的点九效果图渲染装置包括:
接收模块,用于接收待渲染的图片数据;
判断模块,用于判断所述图片数据的图片格式是否为点九图格式;
点九效果图渲染模块,用于若为所述点九图格式,则获取预置点九效果图框架,根据预置渲染显示算法,将所述图片数据裁剪填充至所述点九效果图框架中,得到所述图片数据对应的iOS点九效果图;
缩放模块,用于若不为所述点九图格式,则基于预置显示组件的尺寸大小,对所述图片数据进行缩放处理,得到所述图片数据对应的缩放图片。
9.一种基于iOS系统的点九效果图渲染设备,其特征在于,所述基于iOS系统的点九效果图渲染设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于iOS系统的点九效果图渲染设备执行如权利要求1-7中任一项所述的基于iOS系统的点九效果图渲染方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的基于iOS系统的点九效果图渲染方法。
CN202111672805.7A 2021-12-31 2021-12-31 基于iOS系统的点九效果图渲染方法及其相关装置 Active CN114398124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111672805.7A CN114398124B (zh) 2021-12-31 2021-12-31 基于iOS系统的点九效果图渲染方法及其相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111672805.7A CN114398124B (zh) 2021-12-31 2021-12-31 基于iOS系统的点九效果图渲染方法及其相关装置

Publications (2)

Publication Number Publication Date
CN114398124A true CN114398124A (zh) 2022-04-26
CN114398124B CN114398124B (zh) 2024-04-12

Family

ID=81229102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111672805.7A Active CN114398124B (zh) 2021-12-31 2021-12-31 基于iOS系统的点九效果图渲染方法及其相关装置

Country Status (1)

Country Link
CN (1) CN114398124B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4288815A (en) * 1979-03-22 1981-09-08 Quantel Limited Video picture processing including movement detection
US20040165080A1 (en) * 2003-02-26 2004-08-26 David Burks Image sensor for capturing and filtering image data
US20120113091A1 (en) * 2010-10-29 2012-05-10 Joel Solomon Isaacson Remote Graphics
US20130063475A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation System and method for text rendering
CN103116490A (zh) * 2012-12-04 2013-05-22 广州市久邦数码科技有限公司 一种基于网页的九切图绘制方法
CN106598679A (zh) * 2016-12-21 2017-04-26 北京奇虎科技有限公司 一种加载图片资源的方法及装置
CN106598614A (zh) * 2016-12-21 2017-04-26 北京奇虎科技有限公司 一种回收图片资源的方法及装置
WO2017219526A1 (zh) * 2016-06-23 2017-12-28 乐视控股(北京)有限公司 一种图形文件格式的使用方法及存储设备
CN107872726A (zh) * 2017-11-27 2018-04-03 山东浪潮商用系统有限公司 一种焦点控制方法及装置
CN110554871A (zh) * 2018-06-04 2019-12-10 上海视九信息科技有限公司 NinePatch图形描绘方法及装置、计算机可读存储介质
CN110659581A (zh) * 2019-08-29 2020-01-07 腾讯科技(深圳)有限公司 一种图像处理方法、装置、设备和存储介质
CN111145286A (zh) * 2019-12-25 2020-05-12 重庆文理学院 一种基于gpu的用于边缘计算场景的点九图片贴图绘制方法
CN112053416A (zh) * 2020-09-14 2020-12-08 网易(杭州)网络有限公司 图像处理方法、装置、存储介质及计算机设备
CN112099792A (zh) * 2020-09-18 2020-12-18 上海逸动医学科技有限公司 一种可视化ui样式设计方法及系统
WO2020256698A1 (en) * 2019-06-18 2020-12-24 Huawei Technologies Co., Ltd. Dynamic image resolution assessment
US20210350601A1 (en) * 2019-06-11 2021-11-11 Tencent Technology (Shenzhen) Company Limited Animation rendering method and apparatus, computer-readable storage medium, and computer device

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4288815A (en) * 1979-03-22 1981-09-08 Quantel Limited Video picture processing including movement detection
US20040165080A1 (en) * 2003-02-26 2004-08-26 David Burks Image sensor for capturing and filtering image data
US20120113091A1 (en) * 2010-10-29 2012-05-10 Joel Solomon Isaacson Remote Graphics
US20130063475A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation System and method for text rendering
CN103116490A (zh) * 2012-12-04 2013-05-22 广州市久邦数码科技有限公司 一种基于网页的九切图绘制方法
WO2017219526A1 (zh) * 2016-06-23 2017-12-28 乐视控股(北京)有限公司 一种图形文件格式的使用方法及存储设备
WO2018113725A1 (zh) * 2016-12-21 2018-06-28 北京奇虎科技有限公司 加载图片资源的方法、装置、程序及介质
CN106598679A (zh) * 2016-12-21 2017-04-26 北京奇虎科技有限公司 一种加载图片资源的方法及装置
CN106598614A (zh) * 2016-12-21 2017-04-26 北京奇虎科技有限公司 一种回收图片资源的方法及装置
CN107872726A (zh) * 2017-11-27 2018-04-03 山东浪潮商用系统有限公司 一种焦点控制方法及装置
CN110554871A (zh) * 2018-06-04 2019-12-10 上海视九信息科技有限公司 NinePatch图形描绘方法及装置、计算机可读存储介质
US20210350601A1 (en) * 2019-06-11 2021-11-11 Tencent Technology (Shenzhen) Company Limited Animation rendering method and apparatus, computer-readable storage medium, and computer device
WO2020256698A1 (en) * 2019-06-18 2020-12-24 Huawei Technologies Co., Ltd. Dynamic image resolution assessment
CN110659581A (zh) * 2019-08-29 2020-01-07 腾讯科技(深圳)有限公司 一种图像处理方法、装置、设备和存储介质
CN111145286A (zh) * 2019-12-25 2020-05-12 重庆文理学院 一种基于gpu的用于边缘计算场景的点九图片贴图绘制方法
CN112053416A (zh) * 2020-09-14 2020-12-08 网易(杭州)网络有限公司 图像处理方法、装置、存储介质及计算机设备
CN112099792A (zh) * 2020-09-18 2020-12-18 上海逸动医学科技有限公司 一种可视化ui样式设计方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSDN, pages 1, Retrieved from the Internet <URL:https://blog.csdn.net/jijiji000111/article/details/52471188> *
LI XIANG;CHEN JINFU;LIN ZHECHAO;ZHANG LIN;WANG ZIBIN;ZHOU MINMIN;XIE WANGGEN;: "A Vulnerability Model Construction Method Based on Chemical Abstract Machine", WUHAN UNIVERSITY JOURNAL OF NATURAL SCIENCES, no. 02, 13 March 2018 (2018-03-13) *
刘芳;刘贤梅;: "3DS文件读取、绘制与控制方法的研究与应用", 计算机工程与设计, no. 19, 16 October 2009 (2009-10-16) *

Also Published As

Publication number Publication date
CN114398124B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
JP5290487B2 (ja) デジタルドキュメント処理のためのシステム及び方法
JP5306429B2 (ja) デジタルドキュメント処理のための方法
JP3048330B2 (ja) 書類から記事を抽出する装置および方法
EP2458872A1 (en) Adaptive method and system for encoding digital images for the internet
JP2004318832A (ja) 画素順次描画システムにおいて実行される合成演算回数の削減法
AU2005202722A1 (en) Common charting using shapes
CN109389659B (zh) Ppt中数学公式的渲染方法、装置、存储介质及终端设备
US9818051B2 (en) Rotation and clipping mechanism
CN110163866A (zh) 一种图像处理方法、电子设备及计算机可读存储介质
US6011566A (en) System and method to display raster images with negligible delay time and reduced memory requirements
CN110765799A (zh) 客户端扫码识别方法、装置、设备及存储介质
CN106920270B (zh) 动画处理方法和装置
CN112991412B (zh) 一种液晶仪表序列帧动画性能优化方法及液晶仪表
CN115988170B (zh) 云会议中实时视频合屏中英文字符清晰显示的方法与装置
JPH10513284A (ja) 二進イメージに対する空白ページ及び文字枠の自動決定
CN114398124A (zh) 基于iOS系统的点九效果图渲染方法及其相关装置
EP0574245A2 (en) Method and apparatus for variable expansion and variable shrinkage of an image
CN111008934A (zh) 一种场景构建方法、装置、设备及存储介质
CN114398125B (zh) 点九效果图生成方法及其相关装置
WO2011121563A1 (en) Detecting saliency in an image
KR100633029B1 (ko) 풋프린트의 분석 및 수정 방법
CN113379768A (zh) 一种图像处理方法、装置、存储介质和计算机设备
CN113096045A (zh) 一种位图拉伸方法、位图拉伸装置及电子设备
CN102567940B (zh) 一种图片处理方法和嵌入式终端图片显示方法及装置
CN112035656A (zh) 文档快速预览的方法、装置、计算机设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant