首页 web前端 H5教程 HTML5之SVG 2D入门4—笔画与填充_html5教程技巧

HTML5之SVG 2D入门4—笔画与填充_html5教程技巧

May 16, 2016 pm 03:50 PM
2d svg 填充

前面我们重点都在总结各类形状,文本和图片,接下来,我们还是和讨论canvas一样,总结一下颜色处理,也就是填充和边框效果;你会发现这里的内容与canvas基本上是一致的。这些属性既可以以属性的形式写在元素中,也可以以CSS的形式保存(这是与canvas不一样的地方)。
填充色 - fill属性
这个属性使用设置的颜色填充图形内部,使用很简单,直接把颜色值赋给这个属性就可以了。看例子:

复制代码
代码如下:

fill-opacity="0.5" stroke-opacity="0.8"/>

上面例子中画了一个红色蓝边的矩形。注意几点:
1. 如果不提供fill属性,则默认会使用黑色填充,如果要取消填充,需要设置成none。
2. 可以设置填充的透明度,就是fill-opacity,值的范围是0到1。
3. 稍微复杂一点的是fill-rule属性。这个属性定义了判断点是不是属于填充范围的算法;除了inherit这个值外,还有两个取值: nonzero:这个值采用的算法是:从需要判定的点向任意方向发射线,然后计算图形与线段交点的处的走向;计算结果从0开始,每有一个交点处的线段是从左到右的,就加1;每有一个交点处的线段是从右到左的,就减1;这样计算完所有交点后,如果这个计算的结果不等于0,则该点在图形内,需要填充;如果该值等于0,则在图形外,不需要填充。看下面的示例:

evenodd:这个值采用的算法是:从需要判定的点向任意方向发射线,然后计算图形与线段交点的个数,个数为奇数则改点在图形内,需要填充;个数为偶数则点在图形外,不需要填充。看下图的示例:

边框色 - stroke属性
上面的例子中已经用到了stroke属性,这个属性使用设置的值画图形的边框,使用起来也很直接,把颜色值赋给它就可以了。注意:
1. 如果不提供stroke属性,则默认不绘制图形边框。
2. 可以设置边的透明度,就是stroke-opacity,值的范围是0到1。
实际上,边的情况比图形内部稍微复杂一点,因为边除了颜色,还有"形状"需要定义。

线的端点 - stroke-linecap属性

这个属性定义了线段端点的风格,这个属性可以使用butt,square,round三个值。看例子:

复制代码
代码如下:







这段代码绘制了3条使用不同风格线端点的线,

从左面的图中我们可以很容易看出3中风格的不同。

线的连接 - stroke-linejoin属性
这个属性定义了线段连接处的风格,这个属性可以使用miter,round,bevel三个值。看例子:

复制代码
代码如下:


stroke-linecap="butt" fill="transparent" stroke-linejoin="miter"/>

stroke-linecap="round" fill="transparent" stroke-linejoin="round"/>

stroke-linecap="square" fill="transparent" stroke-linejoin="bevel"/>



从左面的图中我们很容易看到3中风格的不同。

线的虚实 - stroke-dasharray属性

这个属性可以设置线段采用何种虚实线。看例子:

复制代码
代码如下:


stroke-linecap="round" stroke-dasharray="5,10,5" fill="none"/>
stroke-linecap="round" stroke-width="1" stroke-dasharray="5,5" fill="none"/>

这个属性是设置一些列数字,不过这些数字必须是逗号隔开的。

属性中当然可以包含空格,但是空格不作为分隔符。每个数字

定义了实线段的长度,分别是按照绘制、不绘制这个顺序循环下去。

所以左面的例子中绘制的线是画5单位的实线,留5单位的空格,

再画5单位的实线...这样一直下去。

除了这些常用的属性,还有下列属性可以设置:
stroke-miterlimit:这个和canvas中的一样,它处理什么时候画和不画线连接处的miter效果。
stroke-dashoffset:这个属性设置开始画虚线的位置。

使用CSS展示数据
HTML5强化了DIV+CSS的思想,所以展示数据的部分还可以交给CSS处理。与普通HTML元素相比,只不过是 background-color和border换成了fill和stroke。其他的大多都差不多。简单看个例子:

复制代码
代码如下:

#MyRect:hover {
stroke: black;
fill: blue;
}

是不是很熟悉,就是这么简单的。

实用参考:
脚本索引:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx
开发中心:https://developer.mozilla.org/en/SVG
热门参考:http://www.chinasvg.com/
官方文档:http://www.w3.org/TR/SVG11/

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在 Microsoft Word 中使图像看起来透明 如何在 Microsoft Word 中使图像看起来透明 May 29, 2023 pm 02:01 PM

更改图像的透明度或将图像淡入背景也可以使用MicrosoftWord完成。它可以让您调整颜色和透明度,应用背景效果等等。在本文中,我们将看到在Word中使图像透明是多么容易和简单。如何使图像看起来透明第1步:打开MicrosoftWord,然后在顶部单击插入选项第2步:单击“形状”下拉菜单并选择您选择的形状。在这里,我将选择矩形。第三步:画一个矩形选择单词页上的一个区域,然后右键单击它。第4步:从出现的选项中单击“填充”下拉菜单并选择“图片”以添加图像。第5步:单击Stock

聊聊如何利用 SVG 实现图片马赛克效果 聊聊如何利用 SVG 实现图片马赛克效果 Sep 01, 2022 am 11:05 AM

不借助 Javascript,如何利用 SVG 实现图片马赛克效果?下面本篇文章就来带大家详细了解一下,希望对大家有所帮助!

无法使用PS快捷键进行填充 无法使用PS快捷键进行填充 Feb 19, 2024 am 09:18 AM

随着数字时代的发展,图像处理软件成为我们生活和工作中不可或缺的一部分。其中,Adobe公司开发的Photoshop(简称PS)是最著名的图像处理软件之一,其功能强大,操作灵活,深受用户的喜爱。然而,使用PS时,有些用户反映快捷键“填充”(Fill)无法正常使用的问题,给用户的使用体验带来了困扰。快捷键是软件中提供的一种快速操作的方式,避免繁琐的鼠标点击操作,

svg怎么转jpg格式 svg怎么转jpg格式 Nov 24, 2023 am 09:50 AM

svg可以通过使用图像处理软件、使用在线转换工具和使用Python图像处理库的方法来转jpg格式。详细介绍:1、图像处理软件包括Adobe Illustrator、Inkscape和GIMP;2、在线转换工具包括CloudConvert、Zamzar、Online Convert等;3、Python图像处理库等等。

如何在 PowerPoint 中将图像插入形状 如何在 PowerPoint 中将图像插入形状 Apr 17, 2023 pm 02:28 PM

如何在PowerPoint中将图像插入形状将图像插入形状对于创建在演示文稿中脱颖而出的视觉元素非常有用。它可以是箭头、心形或十字形,但这些形状中的每一种都提供了一种目的或情感,可以帮助您的图像充满冲击力。如果您不确定如何将图像插入PowerPoint中的形状,请按照以下步骤操作:打开您的PowerPoint演示文稿。单击功能区中的插入选项卡。单击形状。选择所需的形状并将其绘制在幻灯片上。接下来,选择您绘制的形状,然后选择功能区栏上的“形状格式”选项卡。单击形状填充。从形状填充下拉菜单

深入浅析vue3 vite中怎么使用svg图标 深入浅析vue3 vite中怎么使用svg图标 Apr 28, 2022 am 10:48 AM

svg图片在项目中使用的非常广泛,下面本篇文章带大家介绍一下如何在vue3 vite 中使用svg图标,希望对大家有所帮助!

北大出品:纹理质量和多视角一致性的最新SOTA,在2分钟内实现1张图的3D转换 北大出品:纹理质量和多视角一致性的最新SOTA,在2分钟内实现1张图的3D转换 Jan 10, 2024 pm 11:09 PM

只需两分钟,玩转图片转3D!还是高纹理质量、多视角高一致性的那种。不管是什么物种,输入时的单视图图像还是这样婶儿的:两分钟后,3D版大功告成:△上,Repaint123(NeRF);下,Repaint123(GS)新方法名为Repaint123,核心思想是将2D扩散模型的强大图像生成能力与再绘策略的纹理对齐能力相结合,来生成高质量、多视角一致的图像。此外,该研究还引入了针对重叠区域的可见性感知自适应再绘强度的方法。Repaint123一举解决了此前方法多视角偏差大、纹理退化、生成慢等问题。目前项

VUE3入门教程:使用Vue.js插件玩转SVG VUE3入门教程:使用Vue.js插件玩转SVG Jun 16, 2023 am 09:48 AM

随着现代Web前端开发的不断发展,越来越多的技术被广泛应用于实际开发中。其中,Vue.js是目前最为流行的JavaScript框架之一,它基于MVVM模式,提供了丰富的API和组件库,使得开发响应式、可复用、高效的Web应用变得更加容易。而目前最新的Vue.js3版本相较于旧版,又有着更好的性能和更丰富的特性,引起了广泛的关注和研究。本文将会为大家介绍一种

See all articles