canvas 动态画线
<!--
实现鼠标按下的时候,移动进行绘制,鼠标抬起结束绘图,
用到的事件有mousedown mousemove mouseup
用的的canvas api 有 beginPath moveTo lineTo stroke 涉及到了内容有dom标签canvas 事件和canvas的api
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas</title>
</head>
<body>
<!--设置canvas画布-->
<canvas id="canvas" width="1920" height="1080"></canvas>
<script>
// 加载onload事件,页面启动就进行画图
window.onload = drawImage();
// 画图函数
function drawImage(){
// 获取canvas这个dom元素
var canvas = document.getElementById('canvas');
// 获取上下文环境
var ctx = canvas.getContext('2d');
// 鼠标按下获取事件的坐标点
canvas.onmousedown = function(e){
var x = e.layerX;
var y = e.layerY;
console.log(x+"----"+y);
// 开始画图,beginPath 实际的功能是清除缓存
ctx.beginPath();
// 移动到开始点
ctx.moveTo(x,y);
// 鼠标移动开始画图
canvas.onmousemove= function (e1) {
var ex = e1.layerX;
var ey = e1.layerY;
console.log("ex"+ex+"ey"+ey);
// 移动到的点
ctx.lineTo(ex,ey);
// 告诉画笔开始画图了
ctx.stroke();
};
// 鼠标抬起时结束画图
canvas.onmouseup=function () {
canvas.onmousemove = null;
canvas.onmouseup = null;
};
};
}
</script>
</body>
</html>
canvas 动态画线的更多相关文章
- OpenGL进阶演示样例1——动态画线(虚线、实线、颜色、速度等)
用OpenGL动态绘制线段.事实上非常easy,但到如今为止.网上可參考资料并不多. 于是亲自己主动手写一个函数,方便动态绘制线段.代码例如以下: #include<GL/glu ...
- 第五讲:使用html5中的canvas动态画出物理学上平抛运动
<html> <head> <title>平抛运动</title> <script src="../js/jscex.jscexRequ ...
- html5使用canvas动态画医学设备毫秒级数据波形图
- HTML5自学笔记[ 12 ]canvas绘图小示例之鼠标画线
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- VC动态轨迹画线
分类: 2.4 线程/图形学2010-04-30 22:14 1878人阅读 评论(0) 收藏 举报 文档null 这是一个绘制直线的简单绘图程序,能过实现动态轨迹画线,在拖动时产生临时线来表示可能画 ...
- 兼容IE浏览器的canvas画线和圆圈
1.新建test.html文件,代码如下: <!DOCTYPE html><html><head> <meta charset="utf-8& ...
- Android中Path类的lineTo方法和quadTo方法画线的区别
转载:http://blog.csdn.net/stevenhu_223/article/details/9229337 当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的li ...
- C#使用 DirectX SDK 9做视频播放器 并在视频画线添加文字 VMR9
视频图像处理系列 索引 VS2013下测试通过. 在百度中搜索关键字“DirectX SDk”,或者进入微软官网https://www.microsoft.com/en-us/download/det ...
- 用CSS3和Canvas来画网格
我们经常使用一些excel表格来处理数据,在html中,我们可以用table来制成表格.今天来看一下一些不同的方法. 方法一:使用CSS3的background的linear-gradient属性 l ...
随机推荐
- Scala的下一步
第七步:带类型的参数化数组 Scala里可以使用new实例化对象或类实例.当你在Scala里实例化对象,可以使用值和类型把它参数化:parameterize.参数化的意思是在你创建实例的时候“设置”它 ...
- win7下Outlook2010禁止访问具有潜在不安全因素的附件的解决办法
发生情景: 收到.bat .exe等敏感类型附件时,会碰到此问题. 解决方法: 1.打开regedit.exe 2.依次展开HKEY_CURRENT_USER\Software\Microsoft\O ...
- SQLserver CASE WHEN
declare @shuzu int set @shuzu=1 select (case @shuzu when '1' then '444' when '2'then '555' end) as ' ...
- SpellTime
如果你的应用程序允许用户输入文本,或者它结合了任何基于文本的处理,那么我们有一款你一直寻找的产品.Spell Time 允许你把个拼写检查器整合到你的产品中.该产品携带了完整的源码.Spell Tim ...
- 北大poj-1091
跳蚤 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9591 Accepted: 2892 Description Z ...
- cocos2dx-3.9 集成admob
Part 1: 安装GoogleMobileAds framework (即admob) 1. 安装Cocoapods,否则解决依赖关系和配置真的会把人不累死也得烦死 sudo gem install ...
- u-boot链接脚本分析
eclipse 64位下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release ...
- 610K图纸打印新版增值税发票不完整的调整方法
新版增票页面设置增票向下0.8向右-10,10刻度进纸测试 向右调整可能会有些出入 根据情况微调即可.
- 函数中的static静态变量
静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果. <?php function testStatic($start,$end){ st ...
- Spring Cloud集成相关优质项目推荐
Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储.Git以及Subversion. Spring Cloud Bus 事件.消 ...