HTML5技术

SVG图案填充-Pattern - lhweb15

字号+ 作者:H5之家 来源:博客园 2016-05-17 16:00 我要评论( )

一般用于SVG图形对象的填充fill或描边stroke。这个图形可以是一个SVG元素,也可以是位图图像,通过pattern元素在x轴或y轴方向以固定的间隔平铺。 下面我们结合实例来讲解。 效果如下: 分析代码: 在defs标签内定义图案,pattern元素中的内容直到引用的时候

一般用于SVG图形对象的填充fill或描边stroke。这个图形可以是一个SVG元素,也可以是位图图像,通过<pattern>元素在x轴或y轴方向以固定的间隔平铺。

下面我们结合实例来讲解。

效果如下:

分析代码:

在<defs>标签内定义图案,<pattern>元素中的内容直到引用的时候才会显示。

<pattern>设置id为"grid",x、y值的改变决定图案的位置,宽度、高度默认为pattern图案占填充图形的百分比。
在<pattern>内部定义了两个图形,<circle>和<polugon>。

将patternUnits值默认为objextBoundingBox,指pattern大小是占rect所填充图形的大小
在外部定义了一个<rect>矩形,在矩形的fill中引用id名。

将填充图形rect的width改为200时:

图案的个数并没有改变,<pattern>的width/height属性默认是根据所填充图形的百分比来确定的。

将patternUnits设置为userSpaceOnUse时,效果如下:

pattern标签另外的两个属性为patternUnits和patternContentUnits,两个属性值一样,但patternUnits默认值为objectBoundingBox,而patternContentUnits默认值为userSpaceOnUse,patternContentUnits用来设置pattern内图案的单位大小,如上面实例中的circle、polygon。

      userSpaceOnUsexywidthheight表示的值都是当前用户坐标系统的值。也就是说,这些值没有缩放,都是绝对值。比如上面的例子中:将pattern中width、height设为80、60时,相当于width、height为0.2。

      objectBoundingBox(默认值):x、y、width和height的值都是占外框(包裹pattern的元素)的百分比。比如上面的例子中:将pattern中width、height设为1时,相当于pattern内的图案占rect的百分百,上面实例设置为0.2,相当于占rect的20%。

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 解决浏览器窗口变小后右面出现空白背景颜色或者图片不能全屏填充的方法 - jimmie.Mr

    解决浏览器窗口变小后右面出现空白背景颜色或者图片不能全屏填充的方

    2016-04-20 12:00

  • HTML5填充颜色的fillStyle测试 - roucheng

    HTML5填充颜色的fillStyle测试 - roucheng

    2016-01-14 13:04

  • Photoshop绘制用作页面背景的网页图案_HTML教程

    Photoshop绘制用作页面背景的网页图案_HTML教程

    2015-09-17 16:26

网友点评
a