关于canvas
本人也是刚自学了一点canvas,由于js技术也烂得不行,但是还是写了个demo,提供给canvas初学者。
1.canvas是html5的新标签,与img类似, 默认只有两个属性, width, height,可以直接写在canvas标签内, eg:<canvas id="canvas" width="300px" height="300px"></canvas>
(注意)canvas默认宽度为300px,高度默认为150px;
2.canvas只是一个标签, 实际控制操作 还需要用到JS,如果对JS不是很熟悉也不是很重要, 因为canvas内置属性,方法已经够绘制基本图形了。
3.绘制图形,我们第一步需要获取到canvas这个标签,
eg: var canvas = document.getElementById("canvas");
4.获取到这个标签之后,我们需要添加绘制图形的类型:
eg: var ctx = canvas.getContext("2d");
5.现在可以绘制基本的图形了, 比如 绘制一个矩形:
eg: ctx.fillRect(100,100,100,100) // 四个参数分别代表:离canvas左边的距离坐标, 离canvas顶部的距离左边,绘制矩形的宽度 ,绘制矩形的高度。(在离canvas左边100距离,上边100距离绘制一个宽高100的矩形);
6.canvas中提供了一个 beginPath()、closePath();分别表示 开始一个绘制范围,结束一个绘制范围,你可以在这个范围内绘制想要的图案;
eg: ctx.beginPath();
ctx.fillStyle = "red"; // 给填充图形加上颜色,默认为黑色;
ctx.fillRect(100,100,100,100);
ctx.strokeStyle = "red"; //给定绘制路径的颜色;
ctx.moveTo( 200,200); // 给定一个起点;
ctx.lineTo(300,300); // 给定另一个点,因为我们知道线段是两个点确定的,
ctx.stroke(); //stroke把起点和中点链接起来, 当然我们也可以设置多个lineTo 连接更多的点;
ctx.closePath();
感觉实在编不下去了, 第一次写博客,如有朋友喜欢,我定会继续完善。
未完。。。。。
关于canvas的更多相关文章
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- 【探索】利用 canvas 实现数据压缩
前言 HTTP 支持 GZip 压缩,可节省不少传输资源.但遗憾的是,只有下载才有,上传并不支持.如果上传也能压缩,那就完美了.特别适合大量文本提交的场合,比如博客园,就是很好的例子. 虽然标准不支持 ...
- 简单入门canvas - 通过刮奖效果来学习
一 .前言 一直在做PC端的前端开发,从互联网到行业软件.最近发现移动端已经成为前端必备技能了,真是不能停止学习.HTML5新增的一些东西,canvas是用的比较多也比较复杂的一个,简单的入门了一下, ...
- 获取Canvas当前坐标系矩阵
前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...
- Canvas坐标系转换
默认坐标系与当前坐标系 canvas中的坐标是从左上角开始的,x轴沿着水平方向(按像素)向右延伸,y轴沿垂直方向向下延伸.左上角坐标为x=0,y=0的点称作原点.在默认坐标系中,每一个点的坐标都是直接 ...
- Canvas绘图之平移translate、旋转rotate、缩放scale
画布操作介绍 画布绘图的环境通过translate(),scale(),rotate(), setTransform()和transform()来改变,它们会对画布的变换矩阵产生影响. 函数 方法 描 ...
- 用html5的canvas和JavaScript创建一个绘图程序
本文将引导你使用canvas和JavaScript创建一个简单的绘图程序. 创建canvas元素 首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面. <canvas ...
- html5标签canvas函数drawImage使用方法
html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本.参数传递三种形式: drawImage(image,x,y):在 ...
- 使用 JavaScript 和 canvas 做精确的像素碰撞检测
原文地址:Pixel accurate collision detection with Javascript and Canvas 译者:nzbin 我正在开发一个需要再次使用碰撞检测的游戏.我通常 ...
- H5项目开发分享——用Canvas合成文字
以前曾用Canvas合成.裁剪.图片等<用H5中的Canvas等技术制作海报>.这次用Canvas来画文字. 下图中"老王考到驾照后"这几个字是画在Canvas上的,与 ...
随机推荐
- day04之VUE痛悟
vue组件组件分为三部分
- Linux修改Oracle用戶
Linux下SSH登陆后: su - Oracle; sqlplus /nolog; conn system/密码; 或者 connect/as sysdba; alter user 用户名 iden ...
- C#中Invoke的用法()-解决子线程访问主线程控件、线程安全等问题
引自https://www.cnblogs.com/lsgsanxiao/p/5523282.html invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概 ...
- springDataJpa学习笔记
目录 前言 springData 准备 引用 xml配置初始化JPA pojo dao层接口 使用 新增.修改:save 删除 查询所有 根据ID查询findById 命名规则查询(条件查询) 自定义 ...
- Linux下通过samba进行文件共享与挂载
1.在共享服务端安装samba:# yum install samba samba-client.x86_64 samba-common -y 2.在共享服务端需要防火墙开通139.445端口: # ...
- DOM介绍
什么是DOM DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范. DOM就是由节点组成的. 解析过程 ...
- 深入浅出VisualStudio——使用NuGet来安装AjaxControlToolKit
使用NuGet可以加速配置Visual Studio 2010的开发环境. 1.创建一个空的ASP.NET web站点项目. 2.右键单击此web 站点,选择Manage NuGet Packages ...
- August 27th 2017 Week 35th Sunday
You can't be brave if you've only had wonderful things happen to you. 人生若只是有美好的境遇,那你也没办法学会勇敢. Wherea ...
- Design Pattern: Gof
Design Pattern: Gof 如果您学习设计模式(Design Pattern),看到Gof这个字,可不要呆呆的没有反应,Gof即Gang of four,也就是四人帮的意思,该设计模式名书 ...
- python_4程序设计基础
1注释 2变量和常量 3命名 4表达式 5赋值语句