CN111666515B - 页面元素变换方法及装置 - Google Patents
页面元素变换方法及装置 Download PDFInfo
- Publication number
- CN111666515B CN111666515B CN201910172711.XA CN201910172711A CN111666515B CN 111666515 B CN111666515 B CN 111666515B CN 201910172711 A CN201910172711 A CN 201910172711A CN 111666515 B CN111666515 B CN 111666515B
- Authority
- CN
- China
- Prior art keywords
- transformation
- nonlinear
- function
- preset
- slices
- 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.)
- Active
Links
- 238000011426 transformation method Methods 0.000 title description 8
- 230000009466 transformation Effects 0.000 claims abstract description 227
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000006243 chemical reaction Methods 0.000 claims abstract description 33
- 239000011159 matrix material Substances 0.000 claims description 39
- 230000001131 transforming effect Effects 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 27
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供的页面元素变换方法及装置,首先获取网页页面中的第一页面元素,然后沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1;再利用非线性变换函数,按照预设的非线性关系,获取各个元素切片分别对应的3d变换矩阵;最后按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,便能够得到第一页面元素经非线性变换后的第二页面元素,从而实现了页面元素的非线性变换,为页面元素的特效展示提供了极大便利。
Description
技术领域
本发明涉及信息处理技术领域,更具体的说,涉及页面元素变换方法及装置。
背景技术
随着计算机网络技术的迅猛发展,在浏览器页面上所呈现的内容也日益丰富,为了HTML网页页面的展现力,现在可以在网页页面中嵌入各种样式的多媒体信息。
现有的网页技术,只支持页面元素整体的线性变换,而并不支持页面元素的非线性变换。例如,在现有技术中,若想要将在网页页面中将常规字体的文字展示为艺术字,则必须先使用一些其他软件来制作相应的艺术字图片,再利用IMG标签在页面中呈现制作好的艺术字图片,而并不能在网页页面中直接将常规字体的文字非线性变换为艺术字。而且,对于需要进行非线性变化的其他图片,现有技术也同样无法支持。
因此,目前迫切需要一种切实有效的页面元素变换方案,以实现页面元素的非线性变换。
发明内容
有鉴于此,本发明提供了一种页面元素变换方法及装置,以解决目前的网页技术无法实现页面元素的非线性变换的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种页面元素变换方法,所述方法包括:
获取网页页面中的第一页面元素;
沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1;
利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵;
按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素。
优选的,所述预设方向包括:水平方向与竖直方向中的至少一种。
优选的,所述预设步长为1个像素px。
优选的,所述利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵包括:
利用非线性变换函数,获取所述N个元素切片中各个元素切片的排列序号;
按照预设的非线性关系,获取所述各个元素切片的排列序号分别对应的非线性变换值;
根据所述各个元素切片的排列序号分别对应的非线性变换值,构造所述各个元素切片分别对应的3d变换矩阵。
优选的,在所述利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵之前,所述方法还包括:
获取与所述第一页面元素相关联的层叠样式表CSS代码;
通过解析所述CSS代码,获取所述非线性变换函数;所述非线性变换函数包含所述预设的非线性关系。
优选的,所述通过解析所述CSS代码,获取所述非线性变换函数包括:
通过解析所述CSS代码,获取所述非线性变换函数的函数名称;
根据所述非线性变换函数的函数名称,调用预置的所述非线性变换函数。
一种页面元素变换装置,所述装置包括:
页面元素获取单元,用于获取网页页面中的第一页面元素;
页面元素切片单元,用于沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1;
变换矩阵获取单元,用于利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵;
页面元素变换单元,用于按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素。
优选的,所述变换矩阵获取单元包括:
切片序号获取单元,用于利用非线性变换函数,获取所述N个元素切片中各个元素切片的排列序号;
变换数值获取单元,用于按照预设的非线性关系,获取所述各个元素切片的排列序号分别对应的非线性变换值;
变换矩阵构造单元,用于根据所述各个元素切片的排列序号分别对应的非线性变换值,构造所述各个元素切片分别对应的3d变换矩阵。
优选的,所述装置还包括:
CSS代码获取单元,用于获取与所述第一页面元素相关联的层叠样式表CSS代码;
变换函数获取单元,用于通过解析所述CSS代码,获取所述非线性变换函数;所述非线性变换函数包含所述预设的非线性关系。
优选的,所述变换函数获取单元包括:
函数名称获取单元,用于通过解析所述CSS代码,获取所述非线性变换函数的函数名称;
变换函数调用单元,用于根据所述非线性变换函数的函数名称,调用预置的所述非线性变换函数。
从上述的技术方案可以看出,本发明提供的页面元素变换方法及装置,首先获取网页页面中的第一页面元素,然后沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片;再利用非线性变换函数,按照预设的非线性关系,获取各个元素切片分别对应的3d变换矩阵,最后按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,便能够得到第一页面元素经非线性变换后的第二页面元素,从而有效实现了页面元素的非线性变换,为页面元素的特效展示提供了极大便利。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的页面元素变换方法的一种流程图;
图2为本发明实施例提供的页面元素的横向切片的示例图;
图3为本发明实施例提供的页面元素变换方法的另一种流程图;
图4为本发明实施例提供的元素切片与3d变换矩阵之间非线性关系的示例图;
图5为本发明实施例提供的第二页面元素的一种效果图;
图6为本发明实施例提供的第二页面元素的另一种效果图;
图7为本发明实施例提供的页面元素变换方法的又一种流程图;
图8为本发明实施例提供的页面元素变换装置的一种结构示意图;
图9为本发明实施例提供的页面元素变换装置的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
HTML页面中的所有元素,在排版后,所显示的内容都是矩形区域。在屏幕上的位置与尺寸可以由(x,y,w,h)来描述,其中,x为横坐标,y为纵坐标,w为宽度,h为高度。本发明提供的页面元素变换方法及装置,其实是对页面中的一个页面元素从整体上进行非线性变换,相当于是针对网页页面中w×h的范围内的页面元素,按行、或按列、或按像素点进行非线性变换,使非线性变换后的页面元素具有特殊展示效果,如艺术字,扭曲的图像等。其中,当变换的页面元素是一行文字时,变换的结果就可以是艺术字;当变换的页面元素内是一张图片时,变换的结果就可以是具有扭曲效果的图像。
请参阅图1,图1为本发明实施例提供的页面元素变换方法的一种流程图。
如图1所示,本实施例的页面元素变换方法包括:
S110:获取网页页面中的第一页面元素。
其中,第一页面元素具体是指,网页页面中待变换的页面元素,所述待变换具体是指待进行非线性变换。
第一页面元素可以是文字,也可以是图片,还可以是其他类型的页面元素。
S120:沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1。
一示例中,以第一页面元素为文字,且需要将文字变换为艺术字为例。
艺术字的本质就是原始文字的非线性变换。为了实现艺术字效果,需要先对第一页面元素进行切片处理,将第一页面元素切割为若干个小切片。其中,具体可以是沿着文字的水平方向,按照预设步长,对文字进行切片处理,将文字切割成依次排列的N个小切片,其切片效果可如图2中所示。
其中,预设步长的大小,影响着元素切片的尺寸,而元素切片的尺寸,影响着非线性变换的处理速度及展示效果。元素切片越小,其展示效果越平滑,但会导致元素片数较多,使处理速度越慢;元素切片越大,其展示效果越粗糙,但元素片数较少,使处理速度越快。
其中,预设步长最小可取1个像素px。当然,所述预设步长也可以为2px、3px、4px等其它值,而并不局限于1px。
S130:利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵。
将常规字体文字变换成艺术字,关键在于对N个元素切片中的每一个元素切片分别进行变换,具体可采用3d变换矩阵matrix3d来实现。
利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵,能够使所述各个元素切片分别对应的3d变换矩阵,与所述N个元素切片中各个元素切片之间,满足所述预设的非线性关系。
3d变换矩阵matrix3d中有多个元素,若相邻的元素切片所对应的matrix3d的差异过大,则将会导致两个相邻的元素切片在屏幕上呈现的效果发生错乱。因此,采用3d变换矩阵matrix3d来进行变换时,不能太过随意,需要保证相邻的元素切片对应的3d变换矩阵之间,具有一定的空间连续性。相应的,步骤S130还可包括:控制所述N个元素切片中任意两个相邻的元素切片所对应的3d变换矩阵之间的差异值不大于预设差异阈值。
在利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵的过程中,对相邻的元素切片所对应的3d变换矩阵之间的差异值进行控制,使其不大于预设差异阈值,能够使变换后的相邻元素切片之间具有空间连续性,避免最终的展示效果变得突兀、错乱。
S140:按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素。
由于所述各个元素切片分别对应的3d变换矩阵,与所述N个元素切片中各个元素切片之间是满足预设的非线性关系的,所以,按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换后,所得到的第二页面元素,实际上就是对第一页面元素进行非线性变换后得到的结果。
在步骤S140之后,所述方法还可包括:在所述网页页面上展示所述第二页面元素。
本发明可以在网页页面上方便地显示各种效果的艺术字,也可以在网页页面上显示各种效果的扭曲图片。如果第一页面元素是文字,则变换的结果为艺术字;如果第一页面元素是图片,则变化的结果为扭曲效果的图片。其中,图片与文字的处理过程基本相同,在此不做具体区分。
本实施例提供的页面元素变换方法,首先获取网页页面中的第一页面元素,然后沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片;再利用非线性变换函数,按照预设的非线性关系,获取各个元素切片分别对应的3d变换矩阵,最后按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,便能够得到第一页面元素经非线性变换后的第二页面元素,从而有效实现了页面元素的非线性变换,为页面元素的特效展示提供了极大便利。
请参阅图3,图3为本发明实施例提供的页面元素变换方法的另一种流程图。
如图3所示,本实施例的页面元素变换方法包括:
S210:获取网页页面中的第一页面元素。
S220:沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1。
其中,所述预设方向可包括:水平方向与竖直方向中的至少一种。
对第一页面元素进行切片时,可以沿着第一页面元素的水平方向进行切片,例如,沿着第一页面元素从左到右的方向进行切片;也可以沿着第一页面元素的竖直方向进行切片,例如,沿着第一页面元素从上到下的方向进行切片。
进一步地,除了可以沿着第一页面元素的水平方向或竖直方向进行切片之外,还可以同时沿着第一页面元素的水平方向与竖直方向进行切片,此时切片得到的结果是若干个切片方块,即,所述N个元素切片具体可以是N个切片方块。
当同时按照水平方向与竖直方向进行切片,且预设步长为1px时,一个元素切片就是一个像素点,此时就需要针对页面元素中的每一个像素点进行变换。
S230:利用非线性变换函数,获取所述N个元素切片中各个元素切片的排列序号。
当沿着第一页面元素的水平方向进行切片时,各个元素切片的排列序号可以是各个元素切片的横向坐标x,并可作为非线性变换函数F(i)的输入参数,即i=x。其中,i为F(i)的输入参数。
当沿着第一页面元素的水平方向进行切片时,各个元素切片的排列序号可以是各个元素切片的纵向坐标y,并可作为非线性变换函数F(i)的输入参数,即i=y。
当同时沿着第一页面元素的水平方向与竖直方向进行切片时,各个元素切片的排列序号可以是各个元素切片的横纵坐标(x,y),并作为非线性变换函数F(i)的输入参数,即i=(x,y)。
S240:按照预设的非线性关系,获取所述各个元素切片的排列序号分别对应的非线性变换值。
一示例中,以沿着第一页面元素的水平方向进行切片为例,元素切片的排列序号x∈[0,w-1],w为第一页面元素的宽度。
将x代入到非线性变换函数F(i),i=x,则F(x)会计算出x的非线性变换值v。非线性变换值v为,利用F(x)按照预设的非线性关系,将x进行非线性变换后得到的值。
S250:根据所述各个元素切片的排列序号分别对应的非线性变换值,构造所述各个元素切片分别对应的3d变换矩阵。
利用F(x),根据各个元素切片的排列序号x分别对应的非线性变换值v,构造各个元素切片分别对应的3d变换矩阵,作为F(x)的返回值。其中,v为3d变换矩阵中的一元素值。由此构造出来的3d变换矩阵matrix3d,与所述各个元素切片之间也具有同样的非线性关系。
一示例中,预设的非线性关系为符合正弦曲线的变换关系,非线性变换函数的实现代码可如下所示:
其中,horizontalSin(i)为沿水平方向的非线性变换函数;i为horizontalSin(i)的输入参数,用于传递元素切片的排列序号;v为非线性变换值;Math.sin(Math.PI*2*i)为正弦函数,PI为π。
利用函数horizontalSin(i),基于各个元素切片的排列序号,采用正弦函数Math.sin(Math.PI*2*i)计算各个元素切片对应的非线性变换值v,并构造相应的3d变换矩阵matrix3d。3d变换矩阵matrix3d与各个元素切片之间的非线性关系可如图4所示。图4中,x为元素切片的排列序号,也即元素切片的横坐标;纵坐标为matrix3d。
实际上,本发明是将非线性变换抽象定义为一个函数,实现元素切片的排列序号到3d变换矩阵的映射
通过构造好的matrix3d,使各个元素切片的y坐标按照正弦曲线发生变化,进而使元素切片呈现出如图5所示的正弦曲线的效果。
另一示例中,预设的非线性关系为符合正弦曲线+高度缩放的变换关系,非线性变换函数的实现代码可如下所示:
其中,horizontalScaledSin(i)为沿水平方向的结合高度缩放效果的非线性变换函数;i为horizontalScaledSin(i)的输入参数,用于传递元素切片的排列序号;v与v2均为非线性变换值;Math.sin(Math.PI*2*i)为正弦函数,PI为π,表达式v=(2+Math.sin(Math.PI*2*i))*60.0表征预设的非线性关系。
利用函数horizontalScaledSin(i),基于各个元素切片的排列序号,采用正弦函数Math.sin(Math.PI*2*i)计算各个元素切片对应的非线性变换值v与v2,并构造相应的3d变换矩阵Matrix4。
通过构造好的3d变换矩阵Matrix4,使各个元素切片的y坐标按照正弦曲线发生变化,并使各个元素切片的高度h变成变化,进而使元素切片呈现出如图6所示的同时具备正弦扭曲与高度缩放的效果。
S260:按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素。
其中,需要注意的是,图5与图6仅为第二页面元素的两种效果图,第二页面元素还可以是具有其他效果的页面元素。
在其他示例中,预设的非线性关系也并不仅仅局限于正弦函数关系与缩放关系,其还可以是指数函数关系、对数函数关系、抛物线函数关系等,在此不做具体限定。
本实施例提供的页面元素变换方法,首先获取网页页面中的第一页面元素,然后沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片;再利用非线性变换函数,获取所述N个元素切片中各个元素切片的排列序号,按照预设的非线性关系,获取所述各个元素切片的排列序号分别对应的非线性变换值,然后根据所述各个元素切片的排列序号分别对应的非线性变换值,构造所述各个元素切片分别对应的3d变换矩阵,最后按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素,从而实现了页面元素的非线性变换,同时可支持多种不同的非线性变换方式,为页面元素的非线性变化提供了便利,方便用户定义各种艺术字、扭曲图像等特殊效果的页面元素。
请参阅图7,图7为本发明实施例提供的页面元素变换方法的又一种流程图。
如图7所示,本实施例的页面元素变换方法包括:
S310:获取网页页面中的第一页面元素。
S320:沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1。
S330:获取与所述第一页面元素相关联的层叠样式表CSS代码。
在本实施例中,可参照CSS(Cascading Style Sheets,参考层叠样式表)的transform,增加定义transform-function属性。通过浏览器内核,增加对该属性的实现,其实现的核心逻辑,即为页面元素切片后的逐片变换过程。
例如,新增后的CSS写法可如下所示:
其中,i为输入参数,用于传递元素切片的排列序号;v均为非线性变换值;Math.sin(Math.PI*2*i)为正弦函数,PI为π,表达式v=(2+Math.sin(Math.PI*2*i))*60.0表征预设的非线性关系。
S340:通过解析所述CSS代码,获取所述非线性变换函数;所述非线性变换函数包含所述预设的非线性关系。
上例中,transform-function所定义的函数体{…},即为所要获取的非线性变换函数,其中包含预设的非线性关系“v=(2+Math.sin(Math.PI*2*i))*60.0”。
上例中的CSS写法,通常面向专业用户,使用户可以通过控制matrix3d中的每一个矩阵元素,来精准控制非线性变换的具体特效。
对于普通用户,可以参照transform属性的定义,预置一些已经实现好的特效,并赋予特定的名称,从而方便普通用户使用。相应的,步骤S440可以包括:
A1、通过解析所述CSS代码,获取所述非线性变换函数的函数名称;
A2、根据所述非线性变换函数的函数名称,调用预置的所述非线性变换函数。
相应的,CSS的写法可如下:
#demo{
tranform-function:horizontalSin;
};
或者,
#demo{
tranform-function:horizontalScaledSin;
};
其中,horizontalSin与horizontalScaledSin即为预置的非线性变换函数,通过解析所述CSS代码,可获取到函数名称horizontalSin或horizontalScaledSin,进而调用相应的非线性变换函数horizontalSin或horizontalScaledSin。
其中,预置的非线性变换函数均可通过Javascript来实现。本发明结合浏览器CSS和JS,可定义简便的CSS写法,以供应用开发人员快速定义页面元素的非线性变换效果。
S350:利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵。
S360:按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素。
本实施例提供的页面元素变换方法,首先获取网页页面中的第一页面元素,然后沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片;然后获取与所述第一页面元素相关联的层叠样式表CSS代码,通过解析所述CSS代码,获取所述非线性变换函数,所述非线性变换函数包含所述预设的非线性关系,其中,还可以通过解析出预置的非线性变换函数的函数名称,来调用预置的非线性变换函数;然后,利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵,最后按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素,从而实现了页面元素的非线性变换。
而且,本实施例不仅方便了在页面中定义非线性变换的页面元素,而且通过预置若干个常用的非线性变换函数,进一步为用户定义非线性变换的页面元素(各种特效的艺术字)提供了方便,而且兼容原有的CSS语法,为应用开发人员定义艺术字等非线性变换的页面元素提供了极大的便利。
本发明实施例还提供了页面元素变换装置,所述页面元素变换装置用于实施本发明实施例提供的页面元素变换方法,下文描述的页面元素变换装置的技术内容,可与上文描述的页面元素变换方法的技术内容与相互对应参照。
请参阅图8,图8为本发明实施例提供的页面元素变换装置的一种结构示意图。
如图8所示,所述装置包括:页面元素获取单元10、页面元素切片单元20、变换矩阵获取单元30与页面元素变换单元40。
页面元素获取单元10,用于获取网页页面中的第一页面元素;
页面元素切片单元20,用于沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1。
其中,所述预设方向包括:水平方向与竖直方向中的至少一种;所述预设步长为1个像素px。
变换矩阵获取单元30,用于利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵;
页面元素变换单元40,用于按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素。
本实施例提供的页面元素变换装置,首先获取网页页面中的第一页面元素,然后沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片;再利用非线性变换函数,按照预设的非线性关系,获取各个元素切片分别对应的3d变换矩阵,最后按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,便能够得到第一页面元素经非线性变换后的第二页面元素,从而有效实现了页面元素的非线性变换。
请参阅图9,图9为本发明实施例提供的页面元素变换装置的另一种结构示意图。
如图9所示,所述装置包括前述实施例中的页面元素获取单元10、页面元素切片单元20、变换矩阵获取单元30与页面元素变换单元40,除此之外,还可包括:CSS代码获取单元50与变换函数获取单元60.
CSS代码获取单元50,用于获取与所述第一页面元素相关联的层叠样式表CSS代码;
变换函数获取单元60,用于通过解析所述CSS代码,获取所述非线性变换函数;所述非线性变换函数包含所述预设的非线性关系。
一示例中,所述变换函数获取单元60可具体包括:函数名称获取单元与变换函数调用单元。
函数名称获取单元,用于通过解析所述CSS代码,获取所述非线性变换函数的函数名称;
变换函数调用单元,用于根据所述非线性变换函数的函数名称,调用预置的所述非线性变换函数。
另一示例中,所述变换矩阵获取单元30可包括:切片序号获取单元、变换数值获取单元与变换矩阵构造单元。
切片序号获取单元,用于利用非线性变换函数,获取所述N个元素切片中各个元素切片的排列序号;
变换数值获取单元,用于按照预设的非线性关系,获取所述各个元素切片的排列序号分别对应的非线性变换值;
变换矩阵构造单元,用于根据所述各个元素切片的排列序号分别对应的非线性变换值,构造所述各个元素切片分别对应的3d变换矩阵。
本实施例提供的页面元素变换装置,首先获取网页页面中的第一页面元素,然后沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片;然后获取与所述第一页面元素相关联的层叠样式表CSS代码,通过解析所述CSS代码,获取所述非线性变换函数,所述非线性变换函数包含所述预设的非线性关系,其中,还可以通过解析出预置的非线性变换函数的函数名称,来调用预置的非线性变换函数;然后,利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵,最后按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素,从而实现了页面元素的非线性变换。
最后,还需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式来实现。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (6)
1.一种页面元素变换方法,其特征在于,所述方法包括:
获取网页页面中的第一页面元素;所述第一页面元素包括文字;
沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1;
获取与所述第一页面元素相关联的层叠样式表CSS代码;
通过解析所述CSS代码,获取非线性变换函数;所述非线性变换函数包含所述预设的非线性关系;所述通过解析所述CSS代码,获取所述非线性变换函数包括:通过解析所述CSS代码,获取所述非线性变换函数的函数名称;根据所述非线性变换函数的函数名称,调用预置的所述非线性变换函数;所述预设的非线性关系包括以下的一种或多种:正弦函数关系、缩放关系、指数函数关系、对数函数关系和抛物线函数关系;
利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵;
按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素;所述第二页面元素包括所述文字变换后的艺术字。
2.如权利要求1所述的方法,其特征在于,所述预设方向包括:水平方向与竖直方向中的至少一种。
3.如权利要求1所述的方法,其特征在于,所述预设步长为1个像素px。
4.如权利要求1所述的方法,其特征在于,所述利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵包括:
利用非线性变换函数,获取所述N个元素切片中各个元素切片的排列序号;
按照预设的非线性关系,获取所述各个元素切片的排列序号分别对应的非线性变换值;
根据所述各个元素切片的排列序号分别对应的非线性变换值,构造所述各个元素切片分别对应的3d变换矩阵。
5.一种页面元素变换装置,其特征在于,所述装置包括:
页面元素获取单元,用于获取网页页面中的第一页面元素;所述第一页面元素包括文字;
页面元素切片单元,用于沿着所述第一页面元素的预设方向,按照预设步长,对所述第一页面元素进行切片处理,得到依次排列的N个元素切片,N>1;
变换矩阵获取单元,用于利用非线性变换函数,按照预设的非线性关系,获取所述N个元素切片中各个元素切片分别对应的3d变换矩阵;
页面元素变换单元,用于按照所述各个元素切片分别对应的3d变换矩阵,对所述N个元素切片进行一一变换,得到第二页面元素;所述第二页面元素包括所述文字变换后的艺术字;
CSS代码获取单元,用于获取与所述第一页面元素相关联的层叠样式表CSS代码;
变换函数获取单元,用于通过解析所述CSS代码,获取所述非线性变换函数;所述非线性变换函数包含所述预设的非线性关系;所述预设的非线性关系包括以下的一种或多种:正弦函数关系、缩放关系、指数函数关系、对数函数关系和抛物线函数关系;
所述变换函数获取单元包括:函数名称获取单元,用于通过解析所述CSS代码,获取所述非线性变换函数的函数名称;变换函数调用单元,用于根据所述非线性变换函数的函数名称,调用预置的所述非线性变换函数。
6.如权利要求5所述的装置,其特征在于,所述变换矩阵获取单元包括:
切片序号获取单元,用于利用非线性变换函数,获取所述N个元素切片中各个元素切片的排列序号;
变换数值获取单元,用于按照预设的非线性关系,获取所述各个元素切片的排列序号分别对应的非线性变换值;
变换矩阵构造单元,用于根据所述各个元素切片的排列序号分别对应的非线性变换值,构造所述各个元素切片分别对应的3d变换矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910172711.XA CN111666515B (zh) | 2019-03-07 | 2019-03-07 | 页面元素变换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910172711.XA CN111666515B (zh) | 2019-03-07 | 2019-03-07 | 页面元素变换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666515A CN111666515A (zh) | 2020-09-15 |
CN111666515B true CN111666515B (zh) | 2024-04-26 |
Family
ID=72382256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910172711.XA Active CN111666515B (zh) | 2019-03-07 | 2019-03-07 | 页面元素变换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666515B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113687823B (zh) * | 2021-07-30 | 2023-08-01 | 稿定(厦门)科技有限公司 | 基于html的四边形区块非线性变换方法及其系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901274A (zh) * | 2010-08-11 | 2010-12-01 | 深圳市茁壮网络股份有限公司 | 实现页面特效的方法及装置 |
CN102346736A (zh) * | 2010-07-28 | 2012-02-08 | 阿里巴巴集团控股有限公司 | 一种网页数字信息的保护方法及系统 |
CN102915308A (zh) * | 2011-08-02 | 2013-02-06 | 阿里巴巴集团控股有限公司 | 一种页面渲染的方法及装置 |
CN103218835A (zh) * | 2012-01-19 | 2013-07-24 | 北京千橡网景科技发展有限公司 | 用于变换体形或面部的图像的方法和设备 |
CN103593822A (zh) * | 2012-08-17 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 对数据图像进行磨砂特效处理的方法和装置 |
CN105446986A (zh) * | 2014-06-30 | 2016-03-30 | 国际商业机器公司 | 用于处理web页面的方法和装置 |
CN105959675A (zh) * | 2016-05-25 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 一种视频数据的处理方法和装置 |
CN106056064A (zh) * | 2016-05-26 | 2016-10-26 | 汉王科技股份有限公司 | 一种人脸识别方法及人脸识别装置 |
CN106484943A (zh) * | 2016-08-23 | 2017-03-08 | 中山大学 | 一种基于非线性拟合控制的地质剖面图在线生成方法 |
CN106778739A (zh) * | 2016-12-02 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种曲面化变形文本页面图像矫正方法 |
CN106874937A (zh) * | 2017-01-18 | 2017-06-20 | 腾讯科技(上海)有限公司 | 一种文字图像生成方法、装置及终端 |
CN108156510A (zh) * | 2017-12-27 | 2018-06-12 | 深圳Tcl数字技术有限公司 | 页面焦点处理的方法、装置及计算机可读存储介质 |
CN109254818A (zh) * | 2018-08-28 | 2019-01-22 | 北京影谱科技股份有限公司 | 针对浏览器不同分辨率的像素级定位方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090077565A1 (en) * | 2007-08-17 | 2009-03-19 | Joseph Frazier | System and method for enhancing interactive web-browsing experience |
US10282401B2 (en) * | 2013-03-13 | 2019-05-07 | Usablenet Inc. | Methods for processing cascading style sheets and devices thereof |
-
2019
- 2019-03-07 CN CN201910172711.XA patent/CN111666515B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346736A (zh) * | 2010-07-28 | 2012-02-08 | 阿里巴巴集团控股有限公司 | 一种网页数字信息的保护方法及系统 |
CN101901274A (zh) * | 2010-08-11 | 2010-12-01 | 深圳市茁壮网络股份有限公司 | 实现页面特效的方法及装置 |
CN102915308A (zh) * | 2011-08-02 | 2013-02-06 | 阿里巴巴集团控股有限公司 | 一种页面渲染的方法及装置 |
CN103218835A (zh) * | 2012-01-19 | 2013-07-24 | 北京千橡网景科技发展有限公司 | 用于变换体形或面部的图像的方法和设备 |
CN103593822A (zh) * | 2012-08-17 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 对数据图像进行磨砂特效处理的方法和装置 |
CN105446986A (zh) * | 2014-06-30 | 2016-03-30 | 国际商业机器公司 | 用于处理web页面的方法和装置 |
CN105959675A (zh) * | 2016-05-25 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 一种视频数据的处理方法和装置 |
CN106056064A (zh) * | 2016-05-26 | 2016-10-26 | 汉王科技股份有限公司 | 一种人脸识别方法及人脸识别装置 |
CN106484943A (zh) * | 2016-08-23 | 2017-03-08 | 中山大学 | 一种基于非线性拟合控制的地质剖面图在线生成方法 |
CN106778739A (zh) * | 2016-12-02 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种曲面化变形文本页面图像矫正方法 |
CN106874937A (zh) * | 2017-01-18 | 2017-06-20 | 腾讯科技(上海)有限公司 | 一种文字图像生成方法、装置及终端 |
CN108156510A (zh) * | 2017-12-27 | 2018-06-12 | 深圳Tcl数字技术有限公司 | 页面焦点处理的方法、装置及计算机可读存储介质 |
CN109254818A (zh) * | 2018-08-28 | 2019-01-22 | 北京影谱科技股份有限公司 | 针对浏览器不同分辨率的像素级定位方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于CDIO和3DCC的Javascipt课程教学探究;许旻 等;《2011 International Conference on Education and Education Management (EEM 2011)》;20110625;202-205 * |
Also Published As
Publication number | Publication date |
---|---|
CN111666515A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8593666B2 (en) | Method and system for printing a web page | |
Eisenberg et al. | SVG essentials: Producing scalable vector graphics with XML | |
US10339209B2 (en) | Webpage display method and device | |
WO2015196822A1 (zh) | 一种网页适应屏幕排版方法及装置 | |
CN106331345B (zh) | 一种交互消息展示方法、装置及系统 | |
CN107256259B (zh) | 页面显示方法、装置、电子设备以及存储介质 | |
JP2007058868A (ja) | 置換コンピュータ字体の供給方法及び装置 | |
CN105204853A (zh) | 一种网页浏览器的Canvas绘图方法及装置 | |
CN111915705B (zh) | 图片可视化编辑方法、装置、设备和介质 | |
US9117314B2 (en) | Information output apparatus, method, and recording medium for displaying information on a video display | |
US20150103092A1 (en) | Continuous Image Optimization for Responsive Pages | |
CN104391896A (zh) | 基于网页的平面印刷品排版方法及系统 | |
CN109299449A (zh) | 表格处理方法、装置、电子设备及可读存储介质 | |
CN115543238B (zh) | 一种浏览器页面打印方法、装置、设备及存储介质 | |
CN111666515B (zh) | 页面元素变换方法及装置 | |
GB2524047A (en) | Improvements in and relating to rendering of graphics on a display device | |
CN105389308B (zh) | 网页的显示处理方法及装置 | |
CN104516868A (zh) | 一种版面空格的流式还原方法与系统 | |
CN105589883B (zh) | 网页的页面元素的显示方法和装置 | |
CN105260353A (zh) | 一种移动终端的排版方法及装置 | |
CN112261227A (zh) | 一种移动端多屏等比例适配的方法 | |
US9984053B2 (en) | Replicating the appearance of typographical attributes by adjusting letter spacing of glyphs in digital publications | |
Dengler et al. | Scalable vector graphics (SVG) 1.1 | |
CN105589882B (zh) | 网页的页面元素的显示方法和装置 | |
CN104391829B (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 |