svg绘制圆弧
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8">
<title>SVG Draw Arc</title>
<style media="screen">
.svgs{display: flex; flex-flow:row wrap; justify-content: space-around; width: 620px; margin: 0 auto;}
.svgs svg{width:300px; height:200px; background: #F2F2F2; margin-bottom: 10px;}
</style>
</head> <body>
<div class="svgs">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M 150 0 L 150 200 M 0 100 L 300 100" stroke="#CCC" stroke-width="1" />
<path id="path1" d="" stroke="#000" fill="green" fill-opacity="1" />
</svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M 150 0 L 150 200 M 0 100 L 300 100" stroke="#CCC" stroke-width="1" />
<path id="path2" d="" stroke="#000" fill="green" fill-opacity="1" />
</svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M 150 0 L 150 200 M 0 100 L 300 100" stroke="#CCC" stroke-width="1" />
<path id="path3" d="" stroke="#000" fill="green" fill-opacity="1" />
</svg>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M 150 0 L 150 200 M 0 100 L 300 100" stroke="#CCC" stroke-width="1" />
<path id="path4" d="" stroke="#000" fill="green" fill-opacity="1" />
</svg>
</div>
</body>
<script type="text/javascript">
function changeArcDeg(path, d){
path.setAttribute("d", d);
}
function drawArcByRadiusDeg(startX, startY, r, deg, clockwise) {
var cw = typeof clockwise !== 'undefined' ? clockwise : 1;
var x = startX - r + r*Math.cos(deg*Math.PI/180);
var y = startY + (1===cw ? 1 : -1)*r*Math.sin(deg*Math.PI/180);
var bigOrSmall = deg > 180 ? 1 : 0;
var line = " L" + (startX - r) + " " + startY + " L"+startX + " " + startY + "Z";
return "M " + startX +" "+ startY + " A "+ r +" " + r + " 0 " + bigOrSmall + " " +cw+ " " + x + " " + y + line;
}
function run(pid, deg, clockwise){
var path = document.getElementById(pid);
var x = 200, y = 100, r = 50, add = 0===deg ? true : false;
setInterval(function(){
if(deg>360) deg -= 360;
if(deg<0) deg += 360;
path.setAttribute("d", drawArcByRadiusDeg(x, y, r, add ? deg++ : deg--, clockwise)) ;
}, 10);
}
window.onload = function(){
run('path1', 0, 1);
run('path2', 0, 0);
run('path3', 360, 0);
run('path4', 360, 1);
};
</script>
</html>

svg绘制圆弧的更多相关文章
- 使用SVG绘制湖南地图
项目中有需求使用SVG绘制湖南地图,现把自己制作过程写一下供大家参考. 1.首先准备一张湖南地图(仅有各市边界线即可).(图片最好是PNG的,除了地图其它什么也没有) 2.准备SVG编辑工具SVGDe ...
- 使用canvas元素-art方法绘制圆弧
最近在学习HTML5,发现canvas真的很棒,canvas元素是一种可供绘图的平面,我们用JavaScript对它进行配置和操作.我这里说一下arc方法绘制圆弧,顺便提一下涉及到的基础知识. 首先看 ...
- wpf 后台绘制圆弧
wpf 前台绘制圆弧很简单,如:<Path x:Name="path_data" Stroke="#FFE23838" StrokeThickness=& ...
- SVG Drawing Animation - SVG 绘制动画
一个小实验,探索 SVG 线图动画的使用情况,以前沿的展示形式呈现图形或网站元素的外观,模拟它们的加载.SVG 真的很强大,有许多创造性和可能性,使用 SVG 可以制作各种有趣的网站交互效果.今天这篇 ...
- [原]Wpf应用Path路径绘制圆弧
1. 移动指令:Move Command(M):M 起始点 或者:m 起始点比如:M 100,240或m 100,240使用大写M时,表示绝对值; 使用小写m时; 表示相对于前一点的值,如果前一点没 ...
- 调用gluNurbsCurve绘制圆弧
<OpenGL编程指南>第12章第3小结专门介绍调用GLU绘制NURBS曲线或曲面,很可惜的是并未给出绘制圆弧的例子.网上可以找到很多绘制整个园的例子,却没圆弧例子,自己瞎折腾了2个礼拜, ...
- html 5新特性 --用SVG绘制的微信logo
一个简单的SVG绘制图片的小案例. 效果图: 代码如下: <style> * { ; ; } body { background-color: #d5d3d4; } .container ...
- SVG绘制圆形简单示例分享
今天分享“svg绘制圆形”部分 1.简单圆形 效果图如下: 关键代码: <svg xmlns="http://www.w3.org/2000/svg" version=&qu ...
- 18个超有趣的SVG绘制动画赏析
SVG作为时下比较新颖的技术标准,已经建立了很多基于SVG的前端项目.由于SVG在绘制路径上非常灵活,我们将很多网页上的元素使用SVG来绘制而成,有各种人物.小图标.小动画等等.今天我们收集了18个非 ...
随机推荐
- MySQL concat函数的使用
MySQL concat函数是MySQL数据库中众多的函数之一,下文将对MySQL concat函数的语法和使用进行说明,供您参考和学习. MySQL concat函数使用方法:CONCAT(str1 ...
- U3V第三方软件驱动路径
NI驱动位置:C:\Program Files (x86)\National Instruments\NI-IMAQdx\Staging\NI USB3 VisionA&B驱动位置:D:\Pr ...
- R语言-实用数据对象处理函数
length(object) 显示对象中元素/成分的数量 dim(object) 显示某个对象的维度 str(object) 显示某个对象的结构 class(object) 显示某个对象的类或类型 m ...
- maven 项目无法发布,无法编译的解决办法
1 Web Deployment Assembly信息都合理2 重新clear项目,让JAVA代码重新生成.class文件在target目录中
- Spark数据传输及ShuffleClient(源码阅读五)
我们都知道Spark的每个task运行在不同的服务器节点上,map输出的结果直接存储到map任务所在服务器的存储体系中,reduce任务有可能不在同一台机器上运行,所以需要远程将多个map任务的中间结 ...
- load()方法---------jQuery动态加载html
jquery代码 $("#div").load("test.html"); test.html ----------------被加载页面(有<HTM ...
- mysql的故事
所有的条件都分开理解,命令之间没有包含吗?
- css的简写规范
css简写有这么几个好处,第一个也是最大的好处就是减少了代码的数量.第二个就是方便自己的编写吧. 下面来介绍几个常见的css属性简写规则. 一.字体(font) font-style:设置字体的样式. ...
- CentOS7:安装Zabbix
参考:CentOS 7 yum安装Zabbix 1. 安装Zabbix Server EPEL源里面有Zabbix的安装包,所以需要先安装EPEL. Zabbix源也可以从这里获得:http://re ...
- DBSCAN——python实现
# -*- coding: utf-8 -*- from matplotlib.pyplot import * from collections import defaultdict import r ...