html中几何图形代码,HTML5实现绘制几何图形

HTML5新增了一个属性。该元素自身并不绘制图形,只是相当于一张空画布。如果开发者需要向上绘制图形则必须使用JavaScript脚本进行绘制。

为了向元素上绘图,必须经过如下3步。

获取元素对应的DOM对象,这是一个Canvas对象。

调用Canvas对象的getContext()方法,该方法返回一个CanvasRenderingContext2D对象,该对象即可绘制图形。

调用CanvasRenderingContext2D对象的方法绘图。

绘制几何图形:

CanvasRenderingContext2D只提供了两个方法来绘制几何图形:

fillRect(double x,double y,double width,double height):填充一个矩形区域。

strokeRect(double x,double y,double width,double height):绘制一个矩形边框。

注:此处的(x,y)坐标相对于画布左上角顶点定位,左上角顶点默认坐标为(0,0),x轴向右为正方向,y轴向下为正方向。

下面程序使用这两个方法来绘制几个简单的矩形:

绘制矩形

绘制矩形

style="border:1px solid black">

// 获取canvas元素对应的DOM对象

var canvas = document.getElementById('mc');

// 获取在canvas上绘图的CanvasRenderingContext2D对象

var ctx = canvas.getContext('2d');

// 设置填充颜色

ctx.fillStyle = '#f00';

// 填充一个矩形

ctx.fillRect(30 , 20 , 120 , 60);

// 设置线条颜色

ctx.strokeStyle = "#00f";

// 设置线条宽度

ctx.lineWidth = 10;

// 绘制一个矩形边框

ctx.strokeRect(30 , 130 , 120 , 60);

// 设置线条颜色

ctx.strokeStyle = "#0ff";

// 设置线条连接风格

ctx.lineJoin = "round";

// 绘制一个矩形边框

ctx.strokeRect(80 , 160 , 120 , 60);

// 设置线条颜色

ctx.strokeStyle = "#f0f";

// 设置线条连接风格

ctx.lineJoin = "bevel";

// 绘制一个矩形边框

ctx.strokeRect(130 , 190 , 120 , 60);

效果图:

使用路径绘制圆角矩形:

正如前面所提,CanvasRenderingContext2D对象只提供了两个绘制矩形的方法,并没有直接提供绘制图形,椭圆等几何图形的方法,为了在Canvas上绘制更复杂的图形,必须在Canvas上启用路径,借助于路径来绘制图形。

在Canvas上使用路径,可按如下步骤进行:

beginPath():丢弃任何当前定义的路径并且开始一条新的路径。它把当前的点设置为 (0,0)。

closePath() :方法创建从当前点到开始点的路径。

调用CanvasRenderingContext2D对象的beginPath()方法开始定义路径。

调用CanvasRenderingContext2D的各种方法添加子路径。

调用CanvasRenderingContext2D的closePath()方法关闭路径。

调用CanvasRenderingContext2D的fill()或stroke()方法来填充路径或绘制路径边框。

我们接下来调用调用CanvasRenderingContext2D提供的几个方法来绘制一个圆角矩形:

arcTo(double x1,double y1,double x2,double y2,double radius):向Canvas的当前路径上添加一段弧,确定这段弧的方式是:假设从当前点到P1(x1,y1)绘制一条线条,再从P1(x1,y1)到P2(x2,y2)绘制一条线条,arcTo则绘制一段同时与上面两条线条相切,且半径为radius的圆弧。

lineTo(double x,double y):把Canvas的当前路径从当前结束点连接到x,y对应的点。

moveTo(double x,double y):把Canvas的当前路径的结束点移动到x,y对应的点。

arcTo示意

arcTo示意

style="border:1px solid black">

/*

该方法负责绘制圆角矩形

x1、y2:是圆角矩形左上角的坐标。

width、height:控制圆角举行的宽、高

radius:控制圆角矩形的四个圆角的半径

*/

function createRoundRect(ctx , x1 , y1 , width , height , radius)

{

ctx.beginPath();

// 移动到左上角

ctx.moveTo(x1 + radius , y1);

// 添加一条连接到右上角的线段

ctx.lineTo(x1 + width - radius, y1);

// 添加一段圆弧

ctx.arcTo(x1 + width , y1, x1 + width, y1 + radius, radius);

// 添加一条连接到右下角的线段

ctx.lineTo(x1 + width, y1 + height - radius);

// 添加一段圆弧

ctx.arcTo(x1 + width, y1 + height , x1 + width - radius

, y1 + height , radius);

// 添加一条连接到左下角的线段

ctx.lineTo(x1 + radius, y1 + height);

// 添加一段圆弧

ctx.arcTo(x1, y1 + height , x1 , y1 + height - radius , radius);

// 添加一条连接到左上角的线段

ctx.lineTo(x1 , y1 + radius);

// 添加一段圆弧

ctx.arcTo(x1 , y1 , x1 + radius , y1 , radius);

ctx.closePath();

}

// 获取canvas元素对应的DOM对象

var canvas = document.getElementById('mc');

// 获取在canvas上绘图的CanvasRenderingContext2D对象

var ctx = canvas.getContext('2d');

ctx.lineWidth = 3;

createRoundRect(ctx , 30 , 30 , 200 , 100 , 20);

ctx.stroke();

效果图:

HTML5绘制几何图形

学习笔记:HTML5 Canvas绘制简单图形

HTML5 Canvas绘制简单图形 1.添加Canvas标签,添加id供js操作.

使用 HTML5 Canvas 绘制出惊艳的水滴效果

HTML5 在不久前正式成为推荐标准,标志着全新的 Web 时代已经来临.在众多 HTML5 特性中,Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作 ...

使用html5 canvas绘制图片

注意:本文属于系列文章中的一部分.如果你是html5初学者,仅仅阅读本文,可能无法较深入的理解canvas,甚至无法顺畅地通读本文.请点击上述链 ...

使用html5 canvas绘制圆形或弧线

注意:本文属于系列文章中的一部分.如果你是html5初学者,仅仅阅读本文,可能无法较深入的理解canvas,甚至无法顺畅地通读本文.请点击上述链 ...

html5 Canvas绘制图形入门详解

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

【项目1-1】使用HTML5+CSS3绘制HTML5的logo

作为一个WEB小萌新,自学了有一段时间,总是感觉停滞不前.最近反思中,想到前贤一句话:书读百遍其义自见.说到底,还是项目做的少,如果做多了,想必自然会得心应手. 利用HTML5+CSS3绘制HTML5 ...

HTML5图形绘制

要在HTML5中绘制图形,首先要放置一个canvas元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 JavaScript 编写的记忆游戏(附源代码)   项目:JavaScript 记忆游戏(附源代码) 记忆检查游戏是一个使用 HTML5、CSS 和 JavaScript 开发的简单项目。这个游戏是关于测试你的短期 记忆技能。玩这个游戏 时,一系列图像会出现在一个盒子形状的区域 。玩家必须找到两个相同的图像并单击它们以使它们消失。 如何运行游戏? 记忆游戏项目仅包含 HTML、CSS 和 JavaScript。谈到此游戏的功能,用户必须单击两个相同的图像才能使它们消失。 点击卡片或按下键盘键,通过 2 乘 2 旋转来重建鸟儿对,并发现隐藏在下面的图像! 如果翻开的牌面相同(一对),您就赢了,并且该对牌将从游戏消失! 否则,卡片会自动翻面朝下,您需要重新尝试! 该游戏包含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox, 以获得更好、更优化的游戏体验。要玩游戏,首先,通过单击 memorygame-index.html 文件在浏览器打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值