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> & ...
随机推荐
- gradle cache目录(.gradle)剖析
https://zhuanlan.zhihu.com/p/26473930 gradle下载后会对文件路径进行修饰,本文给出反向解析,把文件路径修改为原始路径的办法. 之所以研究这个,本来的目的是为了 ...
- [转]how to use both JDK 7 and JDK 8 in one build
Note: This article is original from https://gist.github.com/aslakknutsen/9648594 JDK 8 Released Most ...
- jquery通过submit()和serialize()提交表单
<script type="text/javascript"> $(function() { $('#form1').submit(function() { //当提交 ...
- bzoj 5308: [Zjoi2018]胖
Description Cedyks是九条可怜的好朋友(可能这场比赛公开以后就不是了),也是这题的主人公. Cedyks是一个富有的男孩子.他住在著名的ThePLace(宫殿)中. Cedyks是一个 ...
- jqgrid 操作
1.获取单个id 获取行号,有这种方式: var rowid = $("#gridList").jqGrid("getGridParam", "sel ...
- 上下文(Context)和作用域(Scope)
函数的每次调用都有与之紧密相关的作用域和上下文.从根本上来说,作用域是基于函数的,而上下文是基于对象的. 换句话说,作用域涉及到所被调用函数中的变量访问,并且不同的调用场景是不一样的.上下文始终是th ...
- CssClass初步语法了解
首先 创建Css有三种方法 这里面就不一一介绍了,主要说第二种 创建第二种Css样式表 要在标签<title><title>标签下面写 如: <style type= ...
- File 类 的基本操作
// File 类(静态类) File 的缺点:只能用来读小文件 (它是一下子全都读进去) //创建一个文件 // File.Create(@"C:\Users\wbrm\Deskto ...
- mysql应用学习-解决数据乱码
原因 mysql数据库character_set_database和character_set_server默认编码是latin1,所以导致乱码: 修改步骤 step1. 修改my.ini配置 在[m ...
- jquery——write less,do more
rite less, do more.这句话想必是很多语言都提倡的. 在此举三个jquery的应用体现 一.绑定多个事件类型 $("div").bind("mouseov ...