引言:Canvas绘图API快速入门

引言:Canvas绘图API快速入门

在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏动画效果的原理是怎样的?本篇文章将带您在20分钟内快速了解和上手HTML5游戏开发的神器:Canvas绘制API。

一、Canvas是什么?

Canvas就是一个画布,可以进行画任何的线、图形、填充等一系列的操作,而且操作的画图就是js,所以让js编程到了嗑药的地步。另外Canvas不仅仅提供简单的二维矢量绘图,也提供了三维的绘图,以及图片处理等一系列的api支持。

二、Canvas重要Context对象

(1) 要使用Canvas来绘制图形必须在页面中添加Canvas的标签。

例如: <canvas id="demoCanvas" width="500" height="500"> <p>爷,你还在上个世纪吧,现在都html5了,您还在ie6时代?</p> </canvas>

(2) 当然只有上面的标签,只能是创建好了一个画布,其中width和height属性就是设置画布的大小。Id属性也是必须的,后面要用Id来拿到当前的Canvas的Dom对象。通过此Canvase的Dom对象就可以获取他的上下文了,Canvas绘制图形都是靠着Canvas对象的上下文对象.

代码:
<script type="text/javascript">
//第一步:获取canvas元素
var canvasDom = document.getElementById("demoCanvas");
//第二步:获取上下文
var context = canvasDom.getContext(‘2d‘);
</script>

(3) Context上下文默认两种绘制方式:第一种:绘制线(stroke),第二种:填充:fill。

注意:决定了使用哪种方式之后,在填充或者绘制线之前先设置样式。

三、Canvas Fisrt Demo:画一个立体透明的矩形

Canvas绘制的总体的步骤

  • 创建HTML页面,设置画布标签
  • 编写js,获取画布dom对象
  • 通过Canvas标签的Dom对象获取上下文
  • 设置绘制线样式、颜色
  • 绘制矩形,或者填充矩形

Canvas绘制一个矩形和填充一个矩形的Demo


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<body>

    <canvas id="demoCanvas" width="500" height="500">

        <p>爷,你还在上个世纪吧,现在都html5了,您还在ie6时代?</p>

    </canvas>

    <!---下面将演示一种绘制矩形的demo--->

    <script type="text/javascript">

        

        //第一步:获取canvas元素

        var canvasDom = document.getElementById("demoCanvas");

        //第二步:获取上下文

        var context = canvasDom.getContext(‘2d‘);

        //第三步:指定绘制线样式、颜色

        context.strokeStyle = "red";

        //第四步:绘制矩形,只有线。内容是空的

        context.strokeRect(10, 10, 190, 100);

       

        //以下演示填充矩形。

        context.fillStyle = "blue";

        context.fillRect(110,110,100,100);

    </script>

</body>

最终效果下图:

时间: 2024-11-09 14:39:26

引言:Canvas绘图API快速入门的相关文章

Html5 学习系列(五)Canvas绘图API快速入门(2)

Canvas绘图API Demos 上一篇文章中,笔者已经给大家演示了怎么快速用Canvas的API绘制一个矩形出来.接下里我会在本文中给各位介绍Canvas的其他API:绘制线条.绘制椭圆.绘制图片.图片处理等...如果想获得更好的阅读效果请点击老马的独立博客地址. 一.Canvas绘制线条 Context对象的beginPath方法表示开始绘制路径,moveTo(x, y)方法设置线段的起点,lineTo(x, y)方法设置线段的终点,stroke方法用来给透明的线段着色.moveto和li

canvas 绘图api的位置问题

今天因为canvas绘图的为之问题浪费了一些时间. 我们知道canvas的默认宽高是300X150嘛. 实际使用的时候当然是自定义一个高宽啦. 在js中通过canvasDom.style设置了某个高宽的时候,canvas在页面上也确实伸缩了. 但是用某些api的时候,传入位置参数时,还是按照300X150规格来处理位置的!如果想让位置居中的话,传入canvas.width/2或canvas.height/2就好了. 这是之前留意过的问题,今天才发现.可怜我试错地在模拟器上反复折腾,确定真相的我眼

三分钟学会API接口设计 之 Compass 的Restful API 快速入门指南 -- 使用Flask框架

声明: 本博客欢迎转载,但请保留原作者信息! 作者:曾国仕 团队:华为杭州OpenStack团队 引子 大部分开源框架基本上都是使用Curl + RPC的方式构筑系统,以提供对外\对内的交互能力. 这种设计,本人认为更多地是出于层次化与模块化设计的考量,简化整个架构,使得开发轻量简单化. 本文主要介绍Compass的REST API的设计与实现. 通过本文档,读者至少能快速搭建一个属于自己的REST API 框架,并且能够基于该框架进行功能扩展以建立一个完整的系统. Compass的结构简介 图

Yii2框架RESTful API教程(一) - 快速入门

前不久做一个项目,是用Yii2框架写一套RESTful风格的API,就去查了下<Yii 2.0 权威指南 >,发现上面写得比较简略.所以就在这里写一篇教程贴,希望帮助刚接触Yii2框架RESTful的小伙伴快速入门. 一.目录结构 实现一个简单地RESTful API只需用到三个文件.目录如下: frontend ├─ config │ └ main.php ├─ controllers │ └ BookController.php └─ models └ Book.php 二.配置URL规则

python RESTful API框架:Eve 快速入门

Eve是一款Python的REST API框架,用于发布高可定制的.全功能的RESTful的Web服务,帮你轻松创建和部署API,本文翻译自Eve官方网站: http://python-eve.org/quickstart.html#database-interlude Eve 快速入门: 渴望开始吗?这个页面将提供Eve一个很好的介绍.在这之前假设: 你已经安装好了Eve.如果你还没有,可以点击到安装页面. 已经安装了MongoDB. 并且MongoDB 已经运行了. 一个最小的应用 一个最小

AngularJS快速入门指南15:API

thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table.reference>thead>tr>td, table.reference>tbody>tr>td, table.reference>tfoot>tr>td { padding: 8px; line-height: 1.42857143; vertic

HTML5 Canvas 绘图入门

HTML5 Canvas 绘图入门 HTML5 Canvas 绘图入门,仅供学习参考 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>HTML5 移动Web开发指南</title> <style type="text/css"> h1, h5 { text-align: center; } canvas {

Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 2. 变量

大家在中学就已经学过变量的概念了.例如:我们令 x = 100,则可以推出 x*2 = 200 试试下面这段 Python 代码 1 import turtle 2 3 turtle.shape("turtle") 4 x = 100 5 turtle.forward(x) 6 turtle.left(45) 7 turtle.forward(2*x) 8 9 turtle.exitonclick() 运行上面的代码,小海龟将画出下面的图案 x = 100 声明了变量 x,并将它赋值为

大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作

一 概述1.1 什么是搜索?1.2 如果用数据库做搜索会怎么样?1.3 什么是全文检索和 Lucene?1.4 什么是 Elasticsearch?1.5 Elasticsearch 的适用场景1.6 Elasticsearch 的特点1.7 Elasticsearch 的核心概念1.7.1 近实时1.7.2 Cluster(集群)1.7.3 Node(节点)1.7.4 Index(索引 --> 数据库)1.7.5 Type(类型 --> 表)1.7.6 Document(文档 -->