zoukankan      html  css  js  c++  java
  • HTML5入门十---Canvas画布实现画图(一)

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style>
                body{
                    background: white;
                }
                .ToolBar{
                    float: left;
                    font-family: "微软雅黑";
                    font-size: 14px;
                    font-variant: small-caps;
                    text-align: center;
                    background: #F2F7EE;
                    padding: 10px 15px 3px 10px;
                    margin-bottom: 1px;
                    margin-right: 1px;
                    border: 1px solid #7B899B;
                }
                .ToolBar button{
                    padding: 6px;
                    margin: 7px 2px;
                    font-variant: normal;
                    font-size: 12px;
                }
                canvas{
                    border: 1px solid #7B899B;
                }
                img{
                    padding: 2px;
                    border: 2px solid #F2F7EE;
                }
                img:hover{/*当鼠标悬停在图片上*/
                    border: 2px groove #E4F0FE;
                    background: white;
                }
                img.Selected{
                    border: 2px groove #E4F0FE;
                }
                #saveCopyContainer{
                    display: none;
                }
                #saveCopyContainer img{
                    width: 250px;
                    height: 150px;
                }
                .CanvasContainer{                
                }
            </style>
            <script type="text/javascript">
                var canvas;
                var context;
                var isDrawing=false;
                window.onload=function(){
                    canvas = document.getElementById("drawingCanvas");
                    context = canvas.getContext("2d");
                    canvas.onmousedown = startDrawing;
                    canvas.onmouseup = stopDrawing;
                    canvas.onmouseout = stopDrawing;
                    canvas.onmousemove = draw;
                }
                function startDrawing(e)
                {
                    isDrawing = true;
                    context.beginPath();
                    context.moveTo(e.pageX-canvas.offsetLeft,e.pageY-canvas.offsetTop);
                }
                function stopDrawing()
                {
                    isDrawing=false;
                }
                function draw(e)
                {
                    if(isDrawing)
                    {
                        var x = e.pageX-canvas.offsetLeft;
                        var y = e.pageY-canvas.offsetTop;
                        context.lineTo(x,y);
                        context.stroke();
                    }
                }
                function changeColor(color,imgEle)
                {
                    context.strokeStyle = color;
                    imgEle.className = "Selected";
                }
                function changethickness(thickness,imgEle)
                {
                    context.lineWidth = thickness;
                    imgEle.className = "Selected";
                }
                function clearCanvas(){
                    context.clearRect(0,0,canvas.width,canvas.height)
                }
                function saveCanvas(){
                    var imageCopy = document.getElementById("saveImageCopy");
                    imageCopy.src = canvas.toDataURL();
                    var imageContainer = document.getElementById("saveCopyContainer");
                    imageContainer.style.display = "block";                
                }
            </script>
        </head>
        <body>
            <div class="Toolbar">
                <img id="redPen" src="img/pen_red.gif" alt="Red Pen"
                    onclick="changeColor('rgb(212,21,29)',this)"/>
                <img id="greenPen" src="img/pen_green.gif" alt="Green Pen"
                    onclick="changeColor('rgb(131,190,61)',this)"/>
                <img id="bluePen" src="img/pen_blue.gif" alt="Blue Pen"
                    onclick="changeColor('rgb(0,86,166)',this)"/>
            </div>
            <div class="Toolbar">
                <img src="img/pen_thin.gif" alt="Thin Pen"
                    onclick="changethickness(1,this)"/>
                <img src="img/pen_medium.gif" alt="Medium Pen"
                    onclick="changethickness(5,this)"/>
                <img src="img/pen_thick.gif" alt="Thick Pen"
                onclick="changethickness(10,this)"/>
            </div>
            <div>
                <canvas id="drawingCanvas" width="500" height="500"></canvas>
            </div>
            <div>
                <button onclick="saveCanvas()">Save</button>
                <button onclick="clearCanvas()">Clean</button>
                <div id="saveCopyContainer">
                    <img id="saveImageCopy"/><br/>                
                </div>
            </div>
        </body>
    </html>

    素材: 

  • 相关阅读:
    @NotNull @NotBlank @NotEmpty
    springboot @valid与@validated的参数校验使用总结
    一张表多个外键指向同一主键
    关于List的remove()方法
    双数据源切换问题
    前端通过jqplot绘制折线图
    关于js与jquery中的文档加载
    Mybatis中typeAliases的使用
    项目中常见数据库知识
    html中实现倒计时功能(setInterval,clearInterval)
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/5069840.html
Copyright © 2011-2022 走看看