美文网首页
SVG Chapter 3

SVG Chapter 3

作者: _chuuuing_ | 来源:发表于2017-12-20 18:32 被阅读0次

资料来源 imooc 慕课网

SVG中的颜色: RGB和HSL

  • 两种颜色表示方法都被CSS3 支持
  • 互相转换的原理

RGB: 调整颜色时很麻烦,通常需要对3个参数都进行修改

RGB
RGB的使用

HSL

HSL
HSL的使用

推荐网站:http://paletton.com/

透明度
在SVG中,有两种方法改变透明度

  • 直接在颜色中定义rgba(r, g, b, a)
    hsla(h, s%, l%, a) 中的a => 取值范围为[0, 1]
  • opacity属性对透明度进行定义 => 取值范围为[0, 1]

举例:

<rect fill=“rgb(255,0,0)” opacity=“0.5" /> 
<rect stroke=“hsla(0,50%,60%, 0.5)” />

线性渐变 和 径向渐变

渐变让图像更丰满,SVG中有两种渐变方式:线性渐变和径向渐变

  • 线性渐变


    线性渐变
<svg xmlns="http://www.w3.org/2000/svg">
        <defs>
            <linearGradient id="grad1" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="1">
                <stop offset="0" stop-color="#1497FC"/>
                <stop offset="0.5" stop-color="#A469BE"/>
                <stop offset="1" stop-color="#FF8C00"/>
        </linearGradient>
        </defs>

        <rect x="100" y="50" width="200" height="150" fill="url(#grad1)" stroke="none"/>
    </svg>

gradientUnits:objectBoundingBox | userSpaceOnUse
objectBoundingBox以实际使用该gradient的形状作为单位1,用0-1选取百分比
userSpaceOnUse 世界坐标系

  • 径向渐变


    径向渐变
<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="500">
        <defs>
            <radialGradient id="grad2" gradientUnits="objectBoundingBox" cx="0.5" cy="0.5" r="0.5" fx="0.6" fy="0.3">
                <stop offset="0" stop-color="#1497FC"/>
                <stop offset="0.5" stop-color="#A469BE"/>
                <stop offset="1" stop-color="#FF8C00"/>
            </radialGradient>
        </defs>

        <rect x="100" y="100" width="500" height="150" fill="url(#grad2)"/>
    </svg>

笔刷的使用

笔刷用于绘制纹理,相当于一个容器。纹理会被重复的填充到目标图形上。

<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="500">
        <defs>
            <pattern id="p1" x="0" y="0" width="0.2" height="0.2" patternUnits="objectBoundingBox">
                <circle r="5" cx="10" cy="10" fill="red"></circle>
                <polygon points="30 10 60 50 0 50" fill="green"></polygon>
            </pattern>
        </defs>
        <rect x="100" y="100" width="800" height="300" fill="url(#p1)" stroke="blue"></rect>
    </svg>

patternUnits

  • patternUnits="objectBoundingBox" 情况下: 通过调节 rect 的 width 发现,显示的pattern数量是不变的,改变的只有间距
  • patternUnits="userSpaceOnUse" 情况下: 通过调节 rect 的 width 发现,显示的pattern数量会随容器大小改变
    patternContentUnits
    pattern本身相对/绝对的比例或宽高

相关文章

  • SVG Chapter 3

    资料来源 imooc 慕课网 SVG中的颜色: RGB和HSL 两种颜色表示方法都被CSS3 支持 互相转换的原理...

  • SVG Chapter 1

    资料来源 imooc 慕课网 1.1 位图 & 矢量图 1.2 基本图形 rect circle ellipse ...

  • SVG Chapter 2

    资料来源 imooc 慕课网 2.1 世界,视野,视窗 世界:是无穷大的,由svg代码定义 视野:观看 世界 的一...

  • Android图片之svg

    1.SVG是什么2.SVG优点3.SVG使用4.获取SVG5.封装使用6.SVG动画 1.SVG是什么? SVG(...

  • 生成器

    线段生成器 d3.svg.line() 区域生成器 d3.svg.area() 弧生成器 d3.svg.arc()...

  • SVG简介及其用法

    一、SVG - 基础 1.什么是SVG 2.SVG的优势 3.SVG与canvas的区别 4.用途 5.svg再将...

  • SVG简介

    1、什么是SVG? SVG是使用XML描述的矢量文件 W3C标准 http://www.w3.org/TR/SVG...

  • Android 使用自定义SVG

    参考 1、Android SVG支持2、svg在android上的应用3、Android SVG4、Android...

  • 《flask Web 开发》读书笔记 & chapter

    chapter 2 - chapter 3 - chapter 4 - chapter 5 - chapter 6...

  • svg

    一、SVG - 基础 1.svg简单介绍 2. SVG的优势 3. SVG与canvas的区别 4.用途 5.案例...

网友评论

      本文标题:SVG Chapter 3

      本文链接:https://www.haomeiwen.com/subject/jpkwwxtx.html