zoukankan      html  css  js  c++  java
  • canvas简单画图板

    <!DOCTYPE html>
    <html lang='en'>
    <head>
    <meta charset='UTF-8'>
    <title>Title</title>
    </head>
    <body>
    <canvas id='cas' style="border:1px solid red" width='600' height='400'></canvas>
    <div>
    <input type="button" value="蓝色" onclick="blue()"/>
    <input type="button" value="绿色" onclick="green()"/>
    <input type="button" value="粉色" onclick="pink()"/>
    <select name="" id="" onchange="change(this)">
        <option value="1">1px</option>
        <option value="4">4px</option>
        <option value="8">8px</option>
        <option value="20">20px</option>
    </select>
    <input type="button" value="清空画布" onclick="clearCas()">
    </div>
    <script>
    
    //手写输入!!
    var cas = document.getElementById( 'cas' );
        var context = cas.getContext( '2d' );           
        var mouseDown = false;//定义一个参数判断鼠标是否按下
        var points = [];//定义一个数组存放鼠标不停移动时的坐标
        // 添加鼠标移动事件
        cas.addEventListener( 'mousemove', function ( e ) {//鼠标移动事件
        // 注册按下与抬起的事件
        cas.addEventListener( 'mousedown',function () {//鼠标按下事件
            mouseDown = true;
        });
        cas.addEventListener( 'mouseup',function () {//鼠标抬起事件
            mouseDown = false;
            
        });
            if ( mouseDown ) {
                points.push( { x: e.offsetX, y: e.offsetY } );
                // 不断的刷新, 绘制    
                context.beginPath();//开启新的绘制
                // 绘图
                context.moveTo( points[ 0 ].x, points[ 0 ].y );//起始位置
                // 循环 lineTo
                for ( var i = 1; i < points.length; i++ ) {
                    context.lineTo( points[ i ].x, points[ i ].y );
                }
                context.stroke();//描边
            } else {
                points = [];
            }
        });
        /*选择画笔颜色 */
        function blue(){
           
            context.strokeStyle="blue";//画笔颜色改为蓝色
        }
        function green(){
            context.strokeStyle="green";
        }
        function pink(){
            context.strokeStyle='pink';
        }
        /*选择画笔粗细*/
        function change(dom){
            context.lineWidth=dom.value-0;
        }
        /*清空画布*/
        function clearCas(){
            context.clearRect(0,0,cas.width,cas.height);
        }
    </script>
    </body>
    </html>
    

      

  • 相关阅读:
    php 基本连接mysql数据库和查询数据
    HTTP/2 简介
    MySQL数据库 utf-8与utf8mb4
    AJAX请求中出现OPTIONS请求
    精力充沛的管理者,要不要“闲”下来?
    【转】微信开发出现“该公众号暂时无法提供服务,请稍后再试”的坑
    Nginx笔记(一):安装
    Tomcat分析
    Redis集群搭建与使用
    微信JS-SDK实现上传图片功能
  • 原文地址:https://www.cnblogs.com/itlyh/p/6045745.html
Copyright © 2011-2022 走看看