效果如图自动绘制不停歇

代码如下

  var canvas = document.getElementById('myCanvas'),width = canvas.width,height = canvas.height;
var step,startAngle,endAngle,add=Math.PI*2/100;
counterClockwise = false;
var isDrawOver=true;
var x1=Math.floor(200+100);//设置默认圆心X轴
var y1=Math.floor(20+100);//设置默认圆心Y轴
var x;var y;
var radius1= Math.floor(10+50);//设置默认圆半径
var radius;
var animation_interval = 20,n = 100;
var varName;
function setCtxCanvas(){
ctx = canvas.getContext('2d');
ctx.shadowOffsetX = 0; // 设置水平位移
ctx.shadowOffsetY = 0; // 设置垂直位移
ctx.shadowBlur = 10; // 设置模糊度
ctx.lineWidth = 1.0;
}
function actiondo(){
if(isDrawOver){
isDrawOver=false;
setCtxCanvas();
step=1;
startAngle=0;
ctx.strokeStyle ='#'+('00000'+(Math.random()*0x1000000<<0).toString(16)).slice(-6);//圆圈颜色
ctx.shadowColor = '#'+('00000'+(Math.random()*0x1000000<<0).toString(16)).slice(-6); // 设置阴影颜色
//圆心位置
if(x==undefined&&y==undefined&&radius==undefined){
x=x1;
y=y1;
radius = radius1;
}
else if(x1==x&&y1==y&&radius1==radius){
x=x1;
y=y1-radius1;
radius = radius1/2;
}
else if(x==x1&&y<y1){
x=x1+radius1;
y=y1;
radius = radius1/2;
}
else if(y==y1&&x>x1){
x=x1;
y=y1+radius1;
radius = radius1/2;
}
else if(x==x1&&y>y1){
x=x1-radius1;
y=y1;
radius = radius1/2;
}
else if(x<x1&&y==y1){
x=x1;
y=y1;
radius = radius1;
}
// var htmldiv='<div>x='+x+',y='+y+',radius='+radius+',x1='+x1+',y1='+y1+',radius1='+radius1+'</div>';
// $('#ddd').append(htmldiv);
varName= setInterval(animation, animation_interval);
}
}
var animation = function () {
if (step <= n) {
endAngle = startAngle + add ;
drawArc(startAngle, endAngle);
startAngle = endAngle;
step++;
} else {
clearInterval(varName);
isDrawOver=true;
actiondo();
} };
function drawArc(s, e) {
ctx.beginPath();
ctx.arc(x, y, radius, s, e, counterClockwise);
ctx.lineWidth = 1.0;
ctx.stroke();
}

代码如下直接运行

<canvas id="myCanvas"  width="1200"  height="300" style="border:0px solid #333;"></canvas>

html代码这句就行了。

用canvas画环形圆形图片的更多相关文章

  1. 用canvas 画出圆形图片

    /** * 把图片处理成圆形,如果不是正方形就按最小边一半为半径处理 * @param {object} imgObj 图片(img)对象 * @param {number} imgType 设置生成 ...

  2. Android圆形图片不求人,自定义View实现(BitmapShader使用)

    在很多APP当中,圆形的图片是必不可少的元素,美观大方.本文将带领读者去实现一个圆形图片自定View,力求只用一个Java类来完成这件事情. 一.先上效果图 二.实现思路 在定义View 的onMea ...

  3. Android_AsyncTaskDemo之QQ记步数(画圆形图片知识)

    今天学习了AsyncTask Android 的异步机制.我简单的实现我的一个小小案例--qq记步数.然后穿插一个画圆形图片的知识点. 由于所学知识有限,目前我计数,还有排名等等我就简单的利用随机数实 ...

  4. canvas应用——将方形图片处理为圆形

    上段时间在项目中需要将方形图片处理为圆形图片,你可能会说直接用css设置border-radius: 50%就可以了,但是项目中还要将此图片的圆形图片作为一部分利用canvas将其绘制到一张背景图上面 ...

  5. 在android中画圆形图片的几种办法

    在开发中常常会有一些需求,比方显示头像,显示一些特殊的需求,将图片显示成圆角或者圆形或者其它的一些形状. 可是往往我们手上的图片或者从server获取到的图片都是方形的.这时候就须要我们自己进行处理, ...

  6. android通过Canvas和Paint截取无锯齿圆形图片

    一个通过Canvas和Paint截取无锯齿圆形图片. /** * 根据原图和变长绘制圆形图片 * * @param source * @param min * @return */ public st ...

  7. HTML5之Canvas画圆形

    HTML5之Canvas画圆形 1.设计源码 <!DOCTYPE html> <head> <meta charset="utf-8" /> & ...

  8. Python3 tkinter基础 Canvas create_rectangle 画虚边的矩形 create_oval 画椭圆形 圆形

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. android绘制圆形图片的两种方式

    看下效果先 下面有完整的示例代码 使用BitmapShader(着色器) 我们在绘制view 的时候 就是小学上美术课 用水彩笔在本子上画画 使用着色器绘制圆形图片最简单的理解方式 就是把bitmap ...

随机推荐

  1. POJ 2386 题解

    Lake Counting 描述 Due to recent rains, water has pooled in various places in Farmer John's field, whi ...

  2. *HDU3038 并查集

    How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  3. scrollview 嵌套 折叠效果

    ------------------------------- --@ CreateDate: 2015.08.05 --@ Author:     王成成 --@ FileName:   BaoSh ...

  4. CI 资源文件加入模板

    CI  资源文件加入模板: (资源文件:图片,css,js ,业务文件csv,txt.....) 1.引入url辅助函数库   helper 2.使用base_url函数  生成文件物理硬盘地址 3. ...

  5. CNUOJ 535 黑魔法师之门

    先摆出题 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 背景: 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源 ...

  6. 安卓中級教程(3):ScrollView

    以上是scrollview的圖例,可見srollview是一種滑動功能的控件,亦是非常常見的控件. 一般寫法如下: package com.mycompany.viewscroller; import ...

  7. 在Windows 10下启用旧的照片查看器

    从Windows 10开始,默认只能通过“照片”来查看图片了,非常不方便!通过将下列文本保存在.reg文件后导入,即可找回Windows XP时代的“照片查看器”. Windows Registry ...

  8. PostGr-SQL 基本概念

    http://wenjiesu.iteye.com/blog/801129 [什么是schema?] 究竟什么是schema?这个问题困扰了我很久. 我们只讨论数据库中的schema,而不讨论XML中 ...

  9. angular $scope对象

    $scope是一个pojo对象 $scope提供了一些工具方法.例如:$watch() $apply(),一般不会手工去调用 $scope是表达式的执行环境也叫作用域 $scope是一个树形结构,与D ...

  10. sqlserver 索引的一些总结【转】

    1.1.1 摘要 如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化. 1. 计算机硬件调优 2. 应用程序调优 3. 数据库索引优化 4. SQL语句优化 5. 事务处理调 ...