文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用SVG填充图案

2024-04-02 19:55

关注

这篇文章主要介绍“如何使用SVG填充图案”,在日常操作中,相信很多人在如何使用SVG填充图案问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用SVG填充图案”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

SVG填充图案用于用由图像组成的图案填充形状。该图案可以由SVG图像(形状)或位图图像组成。SVG填充模式看起来就像从Photoshop等中所习惯的那样,被称为“平铺”。

一、填充图案

简单的svg填充模式。

示例:

<!DOCTYPE html> <html> <body style="background-color: aqua;"> <title>项目</title> <svg width="500" height="150"> <defs> <pattern id="pattern1" x="10" y="10" width="20" height="20" patternunits="userSpaceOnUse"> <circle cx="10" cy="10" r="10" style="stroke: none; fill: #FF0000"></circle> </pattern> </defs> <rect x="10" y="10" width="100" height="100" style="stroke: #000000; fill: url(#pattern1);">      </rect> </svg> </body> </html>

代码解析:

首先,在元素内定义元素。图案包含一个circle元素。

circle元素将用作填充图案。其次,在CSS属性中声明一个元素fill,该元素引用其style属性中的元素ID。

其次,声明一个元素,该元素在CSS fill属性中引用其样式属性中的元素ID。

运行后图像效果:

如何使用SVG填充图案

注意

元素中定义的圆是如何用作矩形的填充的。还要注意圆圈是如何从左到右,从上到下不断重复的。

二、X,Y,宽度和高度

pattern元素的x和y属性定义图案开始在元素中的形状中的距离。元素的width和height属性定义图案的宽度和高度。

案例分析

这是从头开始的示例,并且将x和y设置为0:

<svg width="500" height="150">    <defs>        <pattern id="pattern2"                 x="0" y="0" width="20" height="20"                 patternUnits="userSpaceOnUse">         <circle cx="10" cy="10" r="10" style="stroke: none; fill: #FF0000">          </circle>        </pattern>    </defs>    <rect x="10" y="10" width="100" height="100"          style="stroke: #000000; fill: url(#pattern2);" /> </svg>

运行后图像效果:

如何使用SVG填充图案

注意

图案现在是如何从圆的中间开始的(在矩形的顶部和左侧)。创建自己的填充图案时,通过使用x和y属性值来实现所需的效果。

width和height属性设定的图案的宽度和高度。

在前面的示例中width,height它们都设置为20,即圆的直径。因此,圆圈一遍又一遍地重复着,中间没有空格。

设置图案的width(宽度)为25,而不是20。

这样,现在在水平圆圈之间现在有5个像素间隔。

<pattern id="pattern2" x="0" y="0" width="25" height="20" patternUnits="userSpaceOnUse">

如何使用SVG填充图案

width, height都设置为25

下面是相同的实例,但是x和y设置为10 (<pattern>元素内的圆心)

<pattern id="pattern2" x="10" y="10" width="25" height="25" patternUnits="userSpaceOnUse">

现在,图案从一个完整的圆圈开始,但是仍然有多余的垂直和水平空间。

三、嵌套模式

可以嵌套填充图案,以便填充图案在内部使用另一个填充图案。

该示例具有一个使用圆形作为填充图案的矩形。圆内部使用矩形作为填充图案。

示例:

<svg width="500" height="150"> <defs> <pattern id="innerPattern" x="3" y="3" width="9" height="9" patternUnits="userSpaceOnUse"> <rect x="0" y="0" width="6" height="6" style="stroke: none; fill: #ff0000;" /> </pattern> <pattern id="outerPattern" x="12" y="12" width="25" height="25" patternUnits="userSpaceOnUse"> <circle cx="10" cy="10" r="10" style="stroke: #0000ff; fill: url(#innerPattern)" /> </pattern> </defs> <rect x="10" y="10" width="100" height="100" style="stroke: #000000; fill: url(#outerPattern);" /> </svg>

运行后图像效果:

如何使用SVG填充图案

外部矩形现在由圆形填充,圆形又由矩形填充。

四、转换模式

可以使用标准SVG转换函数转换填充模式。可以使用patternTransform属性来实现这一点。

SVG模式转换示例

定义了一个简单的图案,该图案在用作矩形的填充图案之前旋转了35度。

<svg width="500" height="150">     <defs>     <pattern id="transformedPattern"     x="10" y="10" width="20" height="20"     patternUnits="userSpaceOnUse"     patternTransform="rotate(35)"     >     <circle cx="10" cy="10" r="10" style="stroke: none; fill: #0000ff" />     </pattern>     </defs>     <rect x="10" y="10" width="100" height="100"     style="stroke: #000000; fill: url(#transformedPattern);" />     </svg>

运行后图像效果:

如何使用SVG填充图案

五、总结

本文基于Html基础,讲解了有关SVG中的填充的相关知识点。如何去填充一个图案,通过改变其中的属性,呈现不一样的填充效果。以及嵌套模式,转换模式的实际应用。

到此,关于“如何使用SVG填充图案”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯