canvas简单的介绍

<canvas></canvas> 标签定义图形,比如图表和其他图像;它只是图形容器,您必须使用脚本来绘制图形。

所以使用canvas,主要是写很多javaScript来实现它的功能.

使用canvas,首先要定义canvas画布在body里面的范围:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>canvas介绍</title>
 6 </head>
 7 <body>
 8
 9     <canvas width="600" height="800" style="background: yellow" id="canvas">
10         您的浏览器版本不支持canvas标签
11     </canvas>
12 </body>
13 </html>

在这里width是画布的宽,height是画布的高,style是画布的样式,id即是canvas的表示,方便javaScript获取DOM对象.

在这里主要讲一下基本的图形画法:

<script>
        //获取画布的DOM, canvas还不可以操作
        var canvas = document.getElementById(‘canvas‘);
        //设置绘图环境,2d是一个标准
        var cxt = canvas.getContext(‘2d‘);

        //画一条线段
            //设定画笔的宽度
            cxt.lineWidth = 10;
            //画笔的颜色
            cxt.strokeStyle = "#ff9900";
            //有一个开始的位置,需要一个坐标,(20,20)表示左上角往有数20,往下数20
            cxt.moveTo(20,20);
            //设置划线的方式,需要一个坐标,横线是x改变,y不变,竖线是x不变,y改变
            cxt.lineTo(100,20);
            cxt.stroke();
            //封闭路径
            cxt.closePath();

        //画一个圆型,凡是路径图形必须先开始路径,画完之后必须结束路径
            // 第一个和第二个参数是圆心的坐标点,
            // 第三个参数是半径,
            // 第四个和第五个参数是表示范围,如果是半圆就是0到180,整圆就是0到360
            // 最后一个是表示是顺时针还是逆时针,false表示逆时针,true表示顺时针
            cxt.beginPath();
            cxt.lineWidth = 3;
            cxt.strokeStyle = ‘red‘;
            cxt.arc(200,200,50,0,360,false);
            cxt.stroke();
            cxt.closePath();

        //画一个实心圆
            cxt.beginPath();
            cxt.fillStyle = ‘blue‘;
            cxt.arc(200,80,50,0.360,false);
            cxt.fill();
            cxt.stroke();
            cxt.closePath();

        //画一个矩形(不需要开始和结束路径)
            cxt.rect(300,20,100,100);
            cxt.stroke();
        //其他方法
        cxt.strokeRect(300,150,100,100);

        //实心矩形
            cxt.beginPath();
            cxt.rect(300,380,100,100);
            cxt.fill();
            cxt.closePath();
            //其他方法
            cxt.fillRect(420,380,100,100);

        //设置文字
            cxt.font = "40px 黑体";
            cxt.fillText("这是一个字符串",20,300);
            cxt.lineWidth = 1;
          //在这里设置空心字            cxt.strokeText("这是一个字符串",20,350);

        //画图,把一幅图片画到画布
            var img= new Image();
            img.src = "";
            cxt.drawImage(img,20,370,230,306);

        //画一个三角形,可以根据自己的需要设置坐标,画三角形的话必须要先关闭路径,再画图
            cxt.beginPath();
            cxt.moveTo(350,500);
            cxt.lineTo(320,600);
            cxt.lineTo(500,600);
            cxt.closePath();
            cxt.stroke();
    </script>
时间: 2024-08-07 04:31:25

canvas简单的介绍的相关文章

简单的介绍下WPF中的MVVM框架

最近在研究学习Swift,苹果希望它迅速取代复杂的Objective-C开发,引发了一大堆热潮去学它,放眼望去各个培训机构都已打着Swift开发0基础快速上手的招牌了.不过我觉得,等同于无C++基础上手学习C#一样,即使将来OC被淘汰,那也是N年之后的事情,如果真的要做IOS开发,趁现在Swift才刚开始,花那么几个月去了解一下OC绝对是一件有帮助的事情. 扯远了,我前几天刚接触到一个叫做mvvm的框架,发现很有意思,带着学习的态度来写点东西,不足之处一起研究.还有一个很重要的原因,我发现不少同

vue学习笔记——简单的介绍以及安装(一)

学习编程需要的是 API+不断地练习^_^ Vue官网:https://cn.vuejs.org/ 菜鸟教程:http://www.runoob.com/vue2/vue-tutorial.html 1.简单的介绍 Vue.js(读音 /vju?/, 类似于 view) 是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. Vue 学习起来非常简单,本教程基于 Vue 2.1.8 版

【转】简单了介绍js中的一些概念(词法结构) 和 数据类型(部分)。

1 , javascript字符集: javascript采用的是Unicode字符集编码. 为什么要采用这个编码呢? 原因很简单,16位的Unicode编码可以表示地球人的任何书面语言.这是语言 国际化的一个重要特征.(大家也许见过用中文写脚本,比如:function 我的函数() {} ); Javascript中每个字符都是用2个字节表示的.(因为是16位编码) 2 ,大小写敏感: js是一种区分大小写的语言. 注意下:以前我也犯过的错误. HTML是不区分大小写的.经常看见有人这么写, 

A*算法最简单的介绍

A*搜寻算法,俗称A星算法,作为启发式搜索算法中的一种,这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法.常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上.该算法像Dijkstra算法一样,可以找到一条最短路径:也像BFS一样,进行启发式的搜索. A*算法最为核心的部分,就在于它的一个估值函数的设计上:        f(n)=g(n)+h(n) 其中f(n)是每个可能试探点的估值,它有两部分组成:    一部分,为g(n),它表示从起始搜索点到当前点的代价(通常用某

Python 模块简单的介绍

Python模块的学习: 1.os模块: 下面只对os模块中几个比较常用的方法做一些简单的示例: os.system():这个方法在shell中体现的比较多,在dos命令行中也可以执行,下面就以在dos命令行中为例,说下system方法的作用(通过这个示例,大家对system方法的实用就一目了然了): 1 >>> import os 2 >>> print(os.system('ls')) 3 'ls' 不是内部或外部命令,也不是可运行的程序 4 或批处理文件. 5 1

Mybatis缓存(1)--------系统缓存及简单配置介绍

前言 Mybatis的缓存主要有两种: 系统缓存,也就是我们一级缓存与二级缓存: 自定义的缓存,比如Redis.Enhance等,需要额外的单独配置与实现,具体日后主要学习介绍. 在这里主要记录系统缓存的一些简单概念, 并没有涉及原理.其中会涉及Mybatis的相关配置以及生命周期等. 主要参考资料:<深入浅出Mybatis基础原理与实战>,http://www.mybatis.org/mybatis-3/zh/index.html 1.Mybatis简单配置介绍 本文介绍的是基于XML的配置

MKV怎么转AVI格式?转换的简单方法介绍

MKV怎么转AVI格式?有很多时候都需要将视频文件进行不同程度的转换,那么下面小编就给大家简单的介绍一下将MKV转AVI格式的方法,希望可以帮助到大家. 步骤一:我们可以直接进入到迅捷PDF在线转换器网站中,通过在浏览器上的搜索然后进入到在线中进行:步骤二:进入到首页中,找到音视频转换中的MKV转AVI格式,然后点击进入即可:步骤三:进入之后进行视频文件的选择,将mkw格式的视频点击选择到界面中,然后点击视频文件进行选择,将视频文件选择到界面中:步骤四:选择好之后就可以进行视频文件转换,点击开始

EVE-NG简单入门介绍

此篇文章简单的介绍下模拟器EVE-NG的使用,具体包括Dynamips设备导入与运行,IOL设备的导入与运行,QEMU设备的导入与运行,客户端软件的安装,物理网络与虚拟网络的结合等. 一.导入镜像 Dynamips是由法国人Chris Fillot于2005年发布的用于模拟Cisco设备的模拟器,它可以运行标准的IOS镜像,虽然此模拟器比较陈旧,但仍然有很多网工愿意使用.EVE-NG支持Cisco IOS 1710.3725与7206,这些镜像可从思科官网或互联网上下载到.推荐使用WinSCP向

html5 canvas简单的直线路径

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-