zoukankan      html  css  js  c++  java
  • canvas 基础

    最近老跟canvas打交道,处理图片:放大缩小,图片旋转,移动图片等等!

    重新温故下canvas的基础用法!

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <script type="text/javascript">
            window.onload = function () {
                var canvas = document.getElementById("myCanvas");
                var context = canvas.getContext("2d");
    
                //绘制矩形并填充
                //前两个参数是正方形原点(左上角)的(x,y)坐标值,
                //其余的两个参数是矩形的宽和高,宽是矩形向右绘制的距离,高是矩形向下绘制的距离
                //context.fillRect(x, y, width, height);
                context.fillStyle = "rgb(255,0,0)"; //rgb(红,绿,蓝);   设置填充颜色
                context.fillRect(200, 300, 200, 100);
                //绘制矩形相框
                context.lineWidth = 5; //加粗绘制线条   默认值为1
                context.strokeStyle = "blue";    //设置线条颜色
                context.strokeRect(40, 40, 200, 100);
    
                //绘制线条
                context.beginPath();  //开始路径
                context.moveTo(40, 40);//设置路径原点
                context.lineTo(340, 340);//设置路径终点
                context.closePath(); //结束路径
                context.strokeStyle = "#00ff00";
                context.stroke(); //绘出路径轮廓
    
                //绘制圆形
                context.beginPath(); //开始路径
                //前两个参数是圆点的坐标值;第三个是半径;第四个是开始角度;第五个是结束角度;
                //第六个是一个布尔值,为true时:按逆时值方向绘制;为false时:按顺时针方向绘制。
                //Canvas中的角度是以弧度为单位的,而非角度。
                //context.arc(x, y, radius, startAngle, endAngle, anticlockwise); 
                context.arc(230, 90, 50, 0, Math.PI * 2, false); //绘制一个圆形
                context.closePath(); //结束路径
                context.fill(); //填充路径
    
                //角度转换弧度
                var degree = 1; //1度
                var radians = degree * (Math.PI / 180); //0.0175弧度
    
                //绘制文本
                var txt = "Hello World!";
                context.font = "italic 30px serif";  //修改字号和字体  默认值:10px sans-serif   该值可接收与css的font完全相同的字符串
                //第一个参数:准备绘制的文本,第二三个参数:文本原点(左下角)的(x,y)针坐标
                context.fillText(txt, 20, 90);
                context.lineWidth = 1;
                context.font = "italic 60px serif";
                context.strokeText(txt, 20, 190);  //创建描边文本
    
                //擦除Canvas
                setTimeout(function () {
                        context.clearRect(0, 0, 500, 500);
                }, 10000);
    
                //如果重新设置Canvas的宽和高,Canvas会恢复到初始状态。也就等于擦除了Canvas
            }
        </script>
    </head>
    <body>
        <canvas id="myCanvas" width="500" height="500">
    
        </canvas>
    </body>
    </html>

     交流群:225443677

  • 相关阅读:
    一款你不容错过的Laravel后台管理扩展包 —— Voyager
    关于后台动态模板添加内容的总结 Builder使用
    Python 解决 :NameError: name 'reload' is not defined 问题
    thinkcmf,thinksns,thinkphp,onethink三者是什么关系?
    PHP中用下划线开头的变量含义
    NetBeans 时事通讯(刊号 # 77 Oct 21, 2009)
    NetBeans 时事通讯(刊号 # 78 Oct 27, 2009)
    最受欢迎的中国 50 技术博客评选结果
    祝父亲生日快乐
    最受欢迎的中国 50 技术博客评选结果
  • 原文地址:https://www.cnblogs.com/LittleBai/p/5985925.html
Copyright © 2011-2022 走看看