<!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基本图形的更多相关文章

  1. html5 Canvas绘制图形入门详解

    html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...

  2. HTML5—canvas绘制图形(1)

    1.canvas基础知识 canvas元素是HTML5中新增的一个重要的元素,专门用来绘制图形,不过canvas本身不具备画图的能力,在页面中放置了canvas元素,就相当于在页面中放置了一块矩形的“ ...

  3. canvas基础—图形变换

    1.canvas转换方法 1.1canvas转换方法 二.canvas实现图形的中心点旋转 step1:获取canva元素并指定canvas的绘图环境 var canvas=document.getE ...

  4. canvas 绘制图形

    canvas 绘制图形: 注意: canvas 的宽高设置在行内,否则会使画布(canvas)产生扭曲,绘图变形: <!DOCTYPE html> <html lang=" ...

  5. canvas给图形添加颜色

    canvas给图形添加颜色 合法属性 ctx.fillStyle = 'orange'; ctx.fillStyle = '#FFA500'; ctx.fillStyle = 'rgb(255, 16 ...

  6. HTML5 Canvas核心技术图形动画与游戏开发 ((美)David Geary) 中文PDF扫描版​

    <html5 canvas核心技术:图形.动画与游戏开发>是html5 canvas领域的标杆之作,也是迄今为止该领域内容最为全面和深入的著作之一,是公认的权威经典.amazon五星级超级 ...

  7. HTML5 Canvas核心技术:图形、动画与游戏开发 PDF扫描版​

    HTML5 Canvas核心技术:图形.动画与游戏开发 内容简介: <HTML5 Canvas核心技术:图形.动画与游戏开发>中,畅销书作家David Geary(基瑞)先生以实用的范例程 ...

  8. Canvas绘制图形

    1.Canvas绘制一个蓝色的矩形 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  9. HTML5 Canvas核心技术图形动画与游戏开发(读书笔记)----第一章,基础知识

    一,canvas元素 1 为了防止浏览器不支持canvas元素,我们设置“后备内容”(fallback content),下面紫色的字即为后备内容 <canvas id="canvas ...

  10. Html5 Canvas核心技术(图形,动画,游戏开发)--基础知识

    基础知识 canvas 元素可以说是HTML5元素中最强大的一个,他真正的能力是通过canvas的context对象表现出来的.该环境对象可以从canvas元素身上获得. <body> & ...

随机推荐

  1. gradle cache目录(.gradle)剖析

    https://zhuanlan.zhihu.com/p/26473930 gradle下载后会对文件路径进行修饰,本文给出反向解析,把文件路径修改为原始路径的办法. 之所以研究这个,本来的目的是为了 ...

  2. [转]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 ...

  3. jquery通过submit()和serialize()提交表单

    <script type="text/javascript"> $(function() { $('#form1').submit(function() { //当提交 ...

  4. bzoj 5308: [Zjoi2018]胖

    Description Cedyks是九条可怜的好朋友(可能这场比赛公开以后就不是了),也是这题的主人公. Cedyks是一个富有的男孩子.他住在著名的ThePLace(宫殿)中. Cedyks是一个 ...

  5. jqgrid 操作

    1.获取单个id 获取行号,有这种方式: var rowid = $("#gridList").jqGrid("getGridParam", "sel ...

  6. 上下文(Context)和作用域(Scope)

    函数的每次调用都有与之紧密相关的作用域和上下文.从根本上来说,作用域是基于函数的,而上下文是基于对象的. 换句话说,作用域涉及到所被调用函数中的变量访问,并且不同的调用场景是不一样的.上下文始终是th ...

  7. CssClass初步语法了解

    首先 创建Css有三种方法  这里面就不一一介绍了,主要说第二种 创建第二种Css样式表  要在标签<title><title>标签下面写 如: <style type= ...

  8. File 类 的基本操作

    //  File 类(静态类)   File 的缺点:只能用来读小文件 (它是一下子全都读进去) //创建一个文件 // File.Create(@"C:\Users\wbrm\Deskto ...

  9. mysql应用学习-解决数据乱码

    原因 mysql数据库character_set_database和character_set_server默认编码是latin1,所以导致乱码: 修改步骤 step1. 修改my.ini配置 在[m ...

  10. jquery——write less,do more

    rite less, do more.这句话想必是很多语言都提倡的. 在此举三个jquery的应用体现 一.绑定多个事件类型 $("div").bind("mouseov ...