html5之canvas画图 1.写字板功能

 写字板事例:

      写字板分析:1.点击鼠标開始写字(onmosedown)2.按下鼠标写字(onmousemove)3.松开鼠标,停下写字(撤销onmousemove事件):

      代码:

<strong><!doctype html>
</strong><html>
    <head>
        <meta charset="utf-8">
        <title>Canvas</title>
        <style type="text/css">
            body {
                margin: 0px;
                padding: 0px;
            }
            #canvas {
                margin: 0px;
                padding: 0px;
                border: 1px solid #000000;
            }
        </style>
    </head>
    <body>
        <canvas id="canvas" width="400" height="400">当前浏览器不支持canvas</canvas>
        <script type="text/javascript" src="utils.js"></script>
        <script type="text/javascript" src="arrow.js"></script>
        <script type="text/javascript">
            window.onload=function(){  

                var canvas=document.getElementById("canvas");
                var context=canvas.getContext("2d"); 

                /*var mouse=utils.captureMousePosition(canvas); */ 

                 //加入mousedown监听事件。在用户鼠标按下后開始画线。并注冊mousemove事件
                canvas.addEventListener("mousedown",function(event){ 

                    context.beginPath();
                    context.moveTo(event.clientX, event.clientY);
                    //alert("-------------")
                    canvas.addEventListener("mousemove",onMouseMove,false);
                },false);  

                 //在鼠标移动时划线
                function onMouseMove(event){
                    context.lineTo(event.clientX,event.clientY);
                    context.stroke();
                }
                                //在鼠标按键松开后,注销鼠标移动事件
                canvas.addEventListener("mouseup",function(event){
                    canvas.removeEventListener("mousemove",onMouseMove,false);
                },false);
            }
        </script>
    </body>
 </html>

时间: 2024-08-24 10:07:06

html5之canvas画图 1.写字板功能的相关文章

html5之canvas绘图 1.写字板功能

 写字板事例:       写字板分析:1.点击鼠标开始写字(onmosedown)2.按下鼠标写字(onmousemove)3.松开鼠标,停下写字(撤销onmousemove事件):       代码: <strong><!doctype html> </strong><html> <head> <meta charset="utf-8"> <title>Canvas</title> &l

HTML5的Canvas画图模拟太阳系运转

有一个需求是:在一个图片按钮上点击,在按钮的上方弹出一个弹框,根据弹框的内容页面做不同的显示.这个其实没什么难的,主要是要控制好弹框的显示位置,让弹框显示在图片的正上方的中间. 一开始是用的Popupwindow,但是Popupwindow不能给弹窗之外的页面加一个半透明的蒙层,当然可以在页面上加一个专门的作为蒙层的View,但是很显然,这么做会代码变得很恶心,于是又换成了Dialog,因为Dialog弹出的时候会自动加一个蒙层的,但是这个时候,弹框显示位置的Y坐标不对了,后来一顿查,原来Dia

canvas绘制线条&amp;canvas实现写字板功能

canvas画V var canvas = document.querySelector("canvas"); var ctx = canvas.getContext("2d"); ctx.strokeStyle = "red"; //线粗细 ctx.lineWidth = 10; //线两端弧化 ctx.lineCap = "round"; //线拐点弧化 ctx.lineJoin = "round";

html5之canvas画图

导航 前言 基本知识 绘制矩形 清除矩形区域 圆弧 路径 绘制线段 绘制贝塞尔曲线 线性渐变 径向渐变(发散) 图形变形(平移.旋转.缩放) 矩阵变换(图形变形的机制) 图形组合 给图形绘制阴影 绘制图像(图片平铺.裁剪.像素处理[不只图像.包括其他绘制图形]) 绘制文字 保存和恢复状态(context) 保存文件 结合setInterval制作动画 结语.demo下载   前言 <canvas></canvas>是html5出现的新标签,像所有的dom对象一样它有自己本身的属性.

HTML5使用canvas画图时,图片被自动放大模糊的问题

最近在研究canvas技术,发现一个问题,就是所画图像会随着画布大小自动变换大小.原因如下 <canvas id="cxt" style="width: 500px; height: 300px; background: #abcdef;"></canvas> 使用了style属性 或者在页面中引入内嵌样式 <style> #cxt{ width: 500px; height: 300px; } </style> 后来

html5学习 - canvas画图和清除图片

在canvas上画一张图其实很简单,就是用drawImgage函数. 定义 这里先贴上w3c里的定义和用法: JavaScript 语法 1 (在画布上定位图像:) context.drawImage(img,x,y); JavaScript 语法 2 (在画布上定位图像,并规定图像的宽度和高度:) context.drawImage(img,x,y,width,height); JavaScript 语法 3 (剪切图像,并在画布上定位被剪切的部分:) context.drawImage(im

[canvas基础]pc&amp;mobile写字板

目的:实现canvas写字板 兼容:同时支持PC和mobile 功能:实现基础的写字板功能,未进行功能拓展,如,画布背景,画笔样式,记录步骤…… 创建时间:2015年7月1日/最后修改时间:2015年7月2日 主要用到的事件:pc:mousedown,mousemove,mouseup, mobile: touchstart,     touchmove,        touchend publicFun: addEventListener <==> removeEventListener,

html5 Canvas画图3:1px线条模糊问题

点击查看原文地址: html5 Canvas画图3:1px线条模糊问题 本文属于<html5 Canvas画图系列教程> 接上一篇canvas画线条教程 上次我们讲到,canvas有时候会出现1像素的线条模糊不清且好像更宽的情况,如下图: 这样的线条显然不是我们想要的. 这篇文章的目的就是弄清楚里面的原理,以及解决它. 大家都知道屏幕上最小的显示尺寸就是1像素,虽然小于1像素的东西可能显示不出来,但计算机可不管,他会试着画一下. 其实像素终究来说也是一个单位,假如我们把画布放大到足够大,足以看

HTML5+Canvas+jQuery调用手机拍照功能实现图片上传(二)

上一篇只讲到前台操作,这篇专门涉及到Java后台处理,前台通过Ajax提交将Base64编码过的图片数据信息传到Java后台,然后Java这边进行接收处理,通过对图片数据信息进行Base64解码,之后使用流将图片数据信息上传至服务器进行保存,并且将图片的路径地址存进数据库.ok,废话不多说了,直接贴代码吧. 1.前台js代码: $.ajax({ async:false,//是否异步 cache:false,//是否使用缓存 type: "POST", data:{fileData:fi