canvas基本图形
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas</title>
<style>
body{
margin:0;padding:0;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="1080px" height="520px" style="border:1px dashed #000;" onmousemove="getCoordinates(event)" onmouseout="clearCoordinates()">你的浏览器不支持HTML5</canvas>
<div id="texts"></div>
</body>
<script type="text/javascript">
//获取鼠标在canvas画布上的坐标,浏览器窗口左上角为原点
function getCoordinates(e){
var x = e.clientX;
var y = e.clientY;
document.getElementById("texts").innerHTML = "Coordinates:("+ x +","+y+")";
}
function clearCoordinates(){
document.getElementById("texts").innerHTML = "";
} var c = document.getElementById("myCanvas");
var cxt = c.getContext("2d");
//画一个宽100px,高150px的矩形
cxt.beginPath();
cxt.rect(0,0,100,150);
cxt.fillStyle="#ff0000";
cxt.fill();
cxt.closePath(); //画一个三角形
cxt.beginPath();
cxt.moveTo(110,0);
cxt.lineTo(210,150);
cxt.lineTo(110,150);
cxt.lineTo(110,0);
cxt.stroke();
cxt.closePath(); //画一个半圆
cxt.beginPath();
cxt.arc(300,100,50,Math.PI,Math.PI*2,true);
cxt.fillStyle = "#00ff00";
cxt.fill();
cxt.closePath(); //渐变
详见HTML5 Canvas进阶(一):渐变,透明,移动,旋转,缩放 /*
cxt.beginPath();
cxt.arc(75,75,50,0,Math.PI*2,true); // 绘制
cxt.moveTo(110,75);
cxt.arc(75,75,35,0,Math.PI,false); // 口(顺时针)
cxt.moveTo(65,65);
cxt.arc(60,65,5,0,Math.PI*2,true); // 左眼
cxt.moveTo(95,65);
cxt.arc(90,65,5,0,Math.PI*2,true); // 右眼
cxt.stroke();
*/
// 二次贝尔赛曲线
cxt.beginPath();
cxt.moveTo(400,75);
cxt.quadraticCurveTo(400,50,450,50);
cxt.quadraticCurveTo(500,50,500,75);
cxt.quadraticCurveTo(500,100,450,100);
cxt.quadraticCurveTo(450,125,415,125);
cxt.quadraticCurveTo(435,125,435,100);
cxt.quadraticCurveTo(400,100,400,75);
cxt.stroke();
cxt.closePath(); /* // 封装的一个用于绘制圆角矩形的函数. function roundedRect(ctx,x,y,width,height,radius){
cxt.beginPath();
cxt.moveTo(x,y+radius);
cxt.lineTo(x,y+height-radius);
cxt.quadraticCurveTo(x,y+height,x+radius,y+height);
cxt.lineTo(x+width-radius,y+height);
cxt.quadraticCurveTo(x+width,y+height,x+width,y+height-radius);
cxt.lineTo(x+width,y+radius);
cxt.quadraticCurveTo(x+width,y,x+width-radius,y);
cxt.lineTo(x+radius,y);
cxt.quadraticCurveTo(x,y,x,y+radius);
cxt.stroke();
}*/ </script>
</html>
canvas基本图形的更多相关文章
- html5 Canvas绘制图形入门详解
html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...
- HTML5—canvas绘制图形(1)
1.canvas基础知识 canvas元素是HTML5中新增的一个重要的元素,专门用来绘制图形,不过canvas本身不具备画图的能力,在页面中放置了canvas元素,就相当于在页面中放置了一块矩形的“ ...
- canvas基础—图形变换
1.canvas转换方法 1.1canvas转换方法 二.canvas实现图形的中心点旋转 step1:获取canva元素并指定canvas的绘图环境 var canvas=document.getE ...
- canvas 绘制图形
canvas 绘制图形: 注意: canvas 的宽高设置在行内,否则会使画布(canvas)产生扭曲,绘图变形: <!DOCTYPE html> <html lang=" ...
- canvas给图形添加颜色
canvas给图形添加颜色 合法属性 ctx.fillStyle = 'orange'; ctx.fillStyle = '#FFA500'; ctx.fillStyle = 'rgb(255, 16 ...
- HTML5 Canvas核心技术图形动画与游戏开发 ((美)David Geary) 中文PDF扫描版
<html5 canvas核心技术:图形.动画与游戏开发>是html5 canvas领域的标杆之作,也是迄今为止该领域内容最为全面和深入的著作之一,是公认的权威经典.amazon五星级超级 ...
- HTML5 Canvas核心技术:图形、动画与游戏开发 PDF扫描版
HTML5 Canvas核心技术:图形.动画与游戏开发 内容简介: <HTML5 Canvas核心技术:图形.动画与游戏开发>中,畅销书作家David Geary(基瑞)先生以实用的范例程 ...
- Canvas绘制图形
1.Canvas绘制一个蓝色的矩形 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- HTML5 Canvas核心技术图形动画与游戏开发(读书笔记)----第一章,基础知识
一,canvas元素 1 为了防止浏览器不支持canvas元素,我们设置“后备内容”(fallback content),下面紫色的字即为后备内容 <canvas id="canvas ...
- Html5 Canvas核心技术(图形,动画,游戏开发)--基础知识
基础知识 canvas 元素可以说是HTML5元素中最强大的一个,他真正的能力是通过canvas的context对象表现出来的.该环境对象可以从canvas元素身上获得. <body> & ...
随机推荐
- 测试次数(C++)
测试次数(结果填空) (满分17分) 注意事项:问题的描述在考生文件夹下对应题号的“题目.txt”中.相关的参考文件在同一目录中.请先阅读题目,不限解决问题的方式,只要求提交结果.必须通过浏览器提交答 ...
- 安装cloudermanager时出现Acquiring installation lock问题(图文详解)
不多说,直接上干货! 问题详情 解决办法 哪一个节点被锁就删除哪一个. 解决办法:进入/tmp 目录,ls -a查看,删除scm_prepare_node.*的文件,以及.scm_prepare_no ...
- 细说C#中的序列化与反序列化的基本原理和过程
虽然我们平时都使用第三方库来进行序列化和反序列化,用起来也很方便,但至少得明白序列化与反序列化的基本原理. 懂得人就别看了! 注意:从.NET Framework 2.0 开始,序列化格式化器类Soa ...
- 互联网轻量级框架SSM-查缺补漏第一天
简言:工欲其事必先利其器,作为一个大四的准毕业生,在实习期准备抽空补一下基础.SSM框架作为互联网的主流框架,在会使用的基础上还要了解其原理,我觉得会对未来的职场会有帮助的.我特意的买了一本<J ...
- uva 10635 LCS转LIS
这道题两个数组都没有重复的数字,用lcs的nlogn再适合不过了 #include <iostream> #include <string> #include <cstr ...
- JavaSE环境Shiro的搭建及常用API
通过shiroAPI来进行角色的管理 模拟用户是否登录: 模拟用户是否具有相应的权限:
- Colorbox - a jQuery lightbox
http://www.jacklmoore.com/colorbox/http://www.jacklmoore.com/colorbox/example5/ <script type=&quo ...
- BAT的java面试题
公司:国内三巨头其中的一家!面试时间约在1月份左右!基本上都是在晚上,所以不影响白天上班! 一面 一面偏架构方面 1.介绍一下自己,讲讲项目经历 2.你们项目中微服务是怎么划分的,划分粒度怎么确定? ...
- scss-@for 指令
此指令用于循环输出,具有两种循环方式,下面分别做一下介绍. (1).@for $var from <start> through <end>: 此种方式的遍历索引区间是[sta ...
- 前端(三大框架、Bootstrap,jQuery,自整理)
前端,HTML(超文本标记语言),CSS(层叠样式表)和JavaScript(脚本语言) HTML,通常说的h5,其实按标准来说,HTML4的后续版本不带编号了,并保证向前的兼容性 CSS的版本3,增 ...