HTML5 cavans的使用

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010046908/article/details/47752421   一、 Canvas是什么?Canvas就是一个画布,可以进行画任何的线、图形、填充等一系列的操作,而且操作的画图就是js,所以让js编程到了嗑药的地步。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010046908/article/details/47752421

  一、 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绘制的总体的步骤

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

< 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 >

相关文章
|
JavaScript 前端开发
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
1437 0
|
JavaScript 前端开发
JavaScript 数字精度丢失问题
【10月更文挑战第24天】解决 JavaScript 数字精度丢失的问题需要综合考虑多种因素,并根据具体情况选择合适的方法。通过合理的处理和预防,可以在一定程度上减少精度误差的影响,确保计算结果的准确性。
|
缓存 资源调度
解决node升级到18版本node-sass安装问题
解决node升级到18版本node-sass安装问题
|
JavaScript
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
这篇文章介绍了在Vue项目中安装node-sass和sass-loader时遇到的版本冲突问题,并提供了解决这些问题的方法,包括在不降低node版本的情况下成功安装node-sass。
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
|
存储 关系型数据库 分布式数据库
6倍性能差100TB容量,阿里云POLARDB如何实现?
本文讲的是6倍性能差100TB容量,阿里云POLARDB如何实现,POLARDB是阿里云数据库团队研发的基于第三代云计算架构下的商用关系型云数据库产品,实现100%向下兼容MySQL 5.6的同时,支持单库容量扩展至上百TB以及计算引擎能力及存储能力的秒级扩展能力,对比MySQL有6倍性能提升及相对于商业数据库实现大幅度降低成本。
15565 0
|
开发工具 git Windows
使用git clone 遇见git did not exit cleanly (exit code 128)的个人解决方案
使用git clone 遇见git did not exit cleanly (exit code 128)的个人解决方案
1936 0
使用git clone 遇见git did not exit cleanly (exit code 128)的个人解决方案
|
JavaScript 容器
Element UI - v-infinite-scroll无限滚动组件
Element UI - v-infinite-scroll无限滚动组件
1312 0
|
Oracle 关系型数据库 数据库
查询listener的日志排除不能登录的错误
一个开发人员反映navicat不能登录Oracle数据库,请我帮忙看看
174 0
|
对象存储 专有云 网络协议
OSS 工具之 OSSBrower
浅谈 ossbrower,图形版的操作工具,有控制台的基本功能,可以理解是 ossutil 工具的图形版,适用于一些非技术人员来操作 oss ,但是性能上并不如 ossutil 那么给力。 使用须知 ossbrower 支持断点续传,以及一键暂停和一键恢复; ossbrower 最大支持文件大小.
9496 0
OSS 工具之 OSSBrower
|
Web App开发 监控 负载均衡