Svg path画线(不管是直线还是曲线)在一定情况下线条的宽度不一的情况(记录)
在项目中涉及到svg;
使用path划线实现图表功能。
记录在实现的过程中发现的问题:path在小像素的情况下画出的线条宽度不一样。这是为什么呢?
以下是我做的猜想:
可以看图

在宽度给的很足的时候没有发现这种情况。
可是在很宽度不是那么的宽时呢?

看到了嘛?第一个线和第二个线宽度明显不一样。代码是一样的给的宽度都是1px。
在看下这个图

很大对不对?哈哈 我把他放大宽度设为了8,可以看到L和L之间拼接的地方和线头和线尾。它的角度不是90°,这是因为它需要拼接吧,
这让我想到了CSS3中的transform scale旋转。
2D旋转变形。
如果是S的话问题更加严重。
目前这种情况我没有找到解决的办法,╮(╯▽╰)╭。
目前在网上找到的只有解决毛边的问题
shape-rendering: crispEdges;
用了以后毛边大大的。
我发现Echart和一些图表插件都是用的画布Canvas。
在chart.js中也是Canvas描边1px的时候像素点很差,不清晰。
好吧我找到了解决办法
来看下之前的代码
<path d="M 10,60.26666666666667 L 30,92.00000000000001 L 50,63.06666666666668 L 70 50.933333333333344 L 90 75.2 L 110 47.2 L 130 92.00000000000001" class="line"></path>
可看出都是拼接的,如果不拼接呢?
<path d="M 10,37.86666666666667 L 30,76.13333333333334 M 30,76.13333333333334 L 50,65.86666666666667 M 50,65.86666666666667 L 70,42.53333333333334
M70,42.53333333333334 L 90,64.93333333333334M 90,64.93333333333334 L 110,85.46666666666667M 110,85.46666666666667 L 130,11.733333333333334
M 130,11.733333333333334 L {26},{27}" class="line"></path>
对的 用的笨办法,一段一段画。
在节点处是有一个圆点的,正好可以遮住闭合处。

nice ^_^
记录代码 享受生活。
Svg path画线(不管是直线还是曲线)在一定情况下线条的宽度不一的情况(记录)的更多相关文章
- 画线动画——SVG版和纯CSS版
概述 我们常常在网站中看到一些画线的动画效果,非常炫酷,大多数这种画线动画效果是通过SVG实现的,也有不少是用纯css实现的,下面我总结了一下这2种方法,供以后开发时参考,相信对其他人也有用. 参考资 ...
- MFC消息映射机制以及画线功能实现
---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...
- Android中Path类的lineTo方法和quadTo方法画线的区别
转载:http://blog.csdn.net/stevenhu_223/article/details/9229337 当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的li ...
- Path画直线与弧线
代码地址如下:http://www.demodashi.com/demo/14754.html 前言 之前讲过Paint和Canvas的基本使用,今天来介绍下Path的使用 涉及内容有: Path画直 ...
- SVG path
在网页上画一图形,比如星星或波浪线,开始是想着图形软件画一个的,后来发现SVG这绘图程序的语言,感觉甚是可以,就发了些时间学了一下,在此做一简单分享和记录. 菜鸟上是这么介绍的(SVG 是使用 XML ...
- SVG path d Attribute
Scalable Vector Graphics (SVG) 1.1 (Second Edition) W3C Recommendation 16 August 2011 http://www.w3. ...
- iOS小画板画线总结
一:基本画线: 使用贝赛尔曲线画: //创建路径 UIBezierPath* aPath = [UIBezierPath bezierPath]; //设置线宽 aPath.lineWidth = 5 ...
- UIBezierPath 画线
使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中.此类是Core Graphics框架关于path的一个封装.使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线 ...
- 使用SVG Path绘图
最近一个项目,需要做个Web版本的设计器,用来进行工厂流水线布局的设计. 项目中采用了SVG.JS来做,但是以前流水线是采用单纯的画线的方式实现.客户提出希望用不同的底纹表示不同的流水线,经过一番调查 ...
随机推荐
- 哈希(Hash)与加密(Encrypt)相关内容
1.哈希(Hash)与加密(Encrypt)的区别 哈希(Hash)是将目标文本转换成具有相同长度的.不可逆的杂凑字符串(或叫做消息摘要),而加密(Encrypt)是将目标文本转换成具有不同长度的.可 ...
- flash上传控件跨域
工作中需要使用百度开发的ueditor,但服务器部署中前端代码和后端代码在不同的域名下,现已解决的前端调后端代码的跨域问题.可是,ueditor中的上传图片flash控件也涉及跨域问题,经过查找发现可 ...
- 火车头wordpress免费万能发布模块和接口
火车头wordpress免费万能发布模块和接口实测可以用 http://www.ggfenxiang8.com/?p=263
- Hibernate 随记(数据库映射流程)
ORM:Object/Relationship Mapping 对象/关系映射 实现流程: 1.项目中导入Hibernate相关类包并创建配置文件.Hibernate.cfg.xml(可 ...
- parsec-2.1 编译错误
OS: Ubuntu 14.04 LTS (x86_64) 参考:https://forums.freebsd.org/threads/security-openssl-build-failure.4 ...
- <随便写写>
# Markdown用法 整理
- 用sql语句建表
CREATE TABLE USER (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(30) NOT NULL, p ...
- 返回顶部demo
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...
- POJ 1321 DFS
题意:POJ少见的中文题,福利啊. 思路: 一开始也没有思路呃呃呃 . 裸搜,连样例都过不去...参照了网上的题解:一行一行DFS 茅塞顿开啊. #include <cstdio> #in ...
- windows下使用Git命令汇总
这里只是简单汇总下Git主要命令,方便记忆:汇总的不好,请各位包容,谢谢!想看详细讲解,推荐廖雪峰大神的教程,地址如下:http://www.liaoxuefeng.com/wiki/00137395 ...