Canvas---clearRect()清除圆形区域
function clearArcFun(x,y,r,cxt){ //(x,y)为要清除的圆的圆心,r为半径,cxt为context
var stepClear=1;//别忘记这一步
clearArc(x,y,r);
function clearArc(x,y,radius){
var calcWidth=radius-stepClear;
var calcHeight=Math.sqrt(radius*radius-calcWidth*calcWidth);
var posX=x-calcWidth;
var posY=y-calcHeight;
var widthX=2*calcWidth;
var heightY=2*calcHeight;
if(stepClear<=radius){
cxt.clearRect(posX,posY,widthX,heightY);
stepClear+=1;
clearArc(x,y,radius);
}
}
}
利用的方法是将圆形切成很多个平行的矩形,然后从中间到圆的两端进行逐渐递减的操作
代码引用自:
html5 canvas拓展clearRect()实现圆形区域清理
Canvas---clearRect()清除圆形区域的更多相关文章
- 小程序canvas绘制纯色圆角区域 setdata数组某一项
小程序canvas绘制纯色圆角区域: //方法: roundRectPath:function(ctx, x, y, w, h, r) { ctx.beginPath(); ctx.moveTo(x ...
- HTML5 canvas clearRect() 方法
浏览器支持 Internet Explorer 9.Firefox.Opera.Chrome 以及 Safari 支持 clearRect() 方法. 注释:Internet Explorer 8 或 ...
- clearRect清除html5画布
html5 canvas 清除可以使用clearRect() 方法 clearRect() 方法的作用是清空给定矩形内的指定像素.JavaScript 语法:context.clearRect(x,y ...
- 用canvas 画出圆形图片
/** * 把图片处理成圆形,如果不是正方形就按最小边一半为半径处理 * @param {object} imgObj 图片(img)对象 * @param {number} imgType 设置生成 ...
- canvas快速绘制圆形、三角形、矩形、多边形
想看前面整理的canvas常用API的同学可以点下面: canvas学习之API整理笔记(一) canvas学习之API整理笔记(二) 本系列文章涉及的所有代码都将上传至:项目代码github地址,喜 ...
- canvas的简单圆形进度条
window.onload = function(){ function arc(canvas,number){ var canvas = document.getElementById(canvas ...
- 用canvas画环形圆形图片
效果如图自动绘制不停歇 代码如下 var canvas = document.getElementById('myCanvas'),width = canvas.width,height = canv ...
- canvas 绘制 矩形 圆形
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <tit ...
- css3伪放大镜(图片放大动画)效果(鼠标移入圆形区域放大图片)
源码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&q ...
随机推荐
- Elasticsearch学习笔记(三)聚合分析Agg
一.设置fielddata PUT /index/_mapping/type { "properties":{ "fieldName" ...
- asp.net mvc 简单实现一个账号只能在一个地方登录
原理: 假设用户在机器A登陆后, 这时用户再次在机器B登陆,会以当前会话的SessionID作为键,用户id作为值,插入dictionary集合中,集合再保存在application(保存在服务器 ...
- SpringBoot-性能优化之扫包优化
性能优化 组件自动扫描带来的问题 默认情况下,我们会使用 @SpringBootApplication 注解来自动获取应用的配置信息,但这样也会给应用带来一些副作用.使用这个注解后,会触发自动配置( ...
- Oracle不连续的值,如何实现查找上一条、下一条
1. 遇到的问题 已知一个题库,希望实现当前页切换上一题,下一题的需求. 查看得知,数据库中用于查询的字段(主键)是不连续的.如上图所示:stxh为主键number类型. 2. 实现方式lead ...
- Django进阶之查询优化、extra注入SQL及批量创建
Django查询优化 Django的查询优化用到两个函数——select_related()和prefetch_related(). select_related()用的是连表join的方式,主要处理 ...
- [pat]1068 Find More Coins
满背包问题,把体积和价值看成相等的.用滚动数组优化,然后额外开辟一个choice数组来记录每次的选择,然后回溯打印.因为要按字典序,先把价值进行排序.假如选最小的商品能装满m的话,那就把判断条件改成大 ...
- mysql----------利用navicat查看两个数据库之间的差异
- 下载文件 utils
package cn.itcast.bos.utils; import java.io.IOException; import java.net.URLEncoder; import sun. ...
- Go 初体验 - 死锁的几种情况
go 语言里,channel 是一个重要的对象和概念,它是通信的基础实现 如何实例化: ch := make(chan int) 由 channel 通信引起的死锁共有3种: 第一种是因为给 ch 推 ...
- VMware中为Linux安装vm-tools
1.虚拟机中选择安装VMware-tools,或者重新安装 2.在/mnt目录下建立cdrom文件夹 mkdir /mnt.cdrom 3.把/dev/cdrom光驱挂载到刚才建的文件夹上 mount ...