返回顶部
首页 > 资讯 > 前端开发 > JavaScript >前端HTLM的canvas如何使用
  • 377
分享到

前端HTLM的canvas如何使用

2024-04-02 19:04:59 377人浏览 独家记忆
摘要

本篇内容介绍了“前端HTLM的canvas如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HTML5

本篇内容介绍了“前端HTLM的canvas如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 javascript)。

不过,<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。

getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。

一般写法:<canvas id="tutorial"width="150"height="150"></canvas>

(1)getContext()

getContext()用来获得渲染上下文和它的绘画功能,只有一个参数,目前只支持2d,即:

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

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

getContext()可以用来检测当前浏览器是不是支持canvas,如果不支持可以用指定文本替代:

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

if (canvas.getContext){

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

} else {

// 不支持,可以写相关提示文字

}

案例:

<script type="text/javascript">

function draw(){

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

if (canvas.getContext){

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

}

}

</script>

<style type="text/CSS">

canvas { border: 1px solid black; }

</style>

<body onload="draw();">

<canvas id="tutorial" width="150" height="150"></canvas>

</body>

(2)绘制矩形

canvas提供了四种方法绘制矩形

rect(): 创建矩形,仅仅创建并未画出,仍需要fill或者stroke填充或者画出来!

fillRect(x, y, width, height) 绘制一个填充的矩形

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

clearRect(x, y, width, height)清 除指定矩形区域,让清除部分完全透明。

例子:

function draw() {

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

if (canvas.getContext) {

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

ctx.fillRect(25,25,100,100);//绘制一个100*100矩形,默认黑色

ctx.clearRect(45,45,60,60);//删除一个60*60的矩形

ctx.strokeRect(50,50,50,50);//绘制一个50*50的边框

}}

html 5 Canvas基础学习教程(1)

(3)绘制路径

路径绘制图形需要的步骤:

1、首先,你需要创建路径起始点。

2、然后你使用画图命令去画出路径。

3、之后你把路径封闭。

4、一旦路径生成,你就能通过描边或填充路径区域来渲染图形。

通过以下常用函数来画图:

beginPath()新建一条路径,生成之后,图形绘制命令被指向到路径上生成路径。

closePath()闭合路径之后图形绘制命令又重新指向到上下文中。

stroke()通过线条来绘制图形轮廓。

fill()通过填充路径的内容区域生成实心的图形。

moveTo(x,y)将笔触移动到指定的坐标x以及y上。

lineTo(x, y)绘制一条从当前位置到指定x以及y位置的直线。

arc(x, y, radius, startAngle, endAngle, anticlockwise)画一个以(x,y)为圆心的以radius为半径的圆弧(圆),从startAngle开始到endAngle结束,按照anticlockwise给定的方向(默认为顺时针)来生成。

arcTo(x1, y1, x2, y2, radius)根据给定的控制点和半径画一段圆弧,再以直线连接两个控制点。

注意:注意:arc()函数中的角度单位是弧度,不是度数。角度与弧度的js表达式:radians=(Math.PI/180)*degrees。

例子1:绘制一个三角形

function draw() {

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

if (canvas.getContext){

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

ctx.beginPath();//新建路径

ctx.moveTo(75,50);//从75*20的位置开始

ctx.lineTo(100,75);//画到100*75

ctx.lineTo(100,25);//再画到100*25

ctx.fill();//填充颜色

}}

“前端HTLM的canvas如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 前端HTLM的canvas如何使用

本文链接: https://lsjlt.com/news/93916.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 前端HTLM的canvas如何使用
    本篇内容介绍了“前端HTLM的canvas如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HTML5...
    99+
    2024-04-02
  • 前端canvas如何实现水印
    小编给大家分享一下前端canvas如何实现水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!两种水印效果如图:原理解析:图一斜纹类:创建一个和页面一样大的画布,根...
    99+
    2023-06-09
  • 前端vue3的setup如何使用
    本文小编为大家详细介绍“前端vue3的setup如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“前端vue3的setup如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。vue3 中新增了 setup...
    99+
    2023-06-29
  • JS前端使用canvas编写一个签名板
    目录需求方案分析canvas涉及知识点代码以上代码,未开发的点需求 需求是做不完了,福利也被砍了,旅游也泡汤了,手上有2个需求,还没做完,PM就来新需求了。 开发一个签名板:要求PC...
    99+
    2022-11-13
    JS canvas签名板 JS canvas
  • JS前端使用canvas搞一个手势识别
    目录前言具体步骤第一步:手势绘制第二步:重新取样第二步:平移第三步:旋转第四步:缩放第五步:手势录入第六步:比较(重点)注意事项比较的基本套路(可跳过)关于多笔画(可跳过)小结前言 ...
    99+
    2022-11-13
    JS前端canvas手势识别 canvas手势识别
  • JS前端使用canvas实现物体的点选示例
    目录前言hover 的实现click 的实现矩形的坐标哪来的点在多边形内的其他判断方法穿透本章小结前言 上个章节中我们已经给物体加上了被选中的效果,现在可以上点交互了,这个章节主要实...
    99+
    2022-11-13
    JS前端canvas物体点选 canvas物体点选
  • JS前端中的WebSocket如何使用
    这篇文章主要介绍“JS前端中的WebSocket如何使用”,在日常操作中,相信很多人在JS前端中的WebSocket如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS前端中的WebSocket如何使用...
    99+
    2023-07-05
  • 如何使用html5的canvas
    这篇文章主要介绍“如何使用html5的canvas”,在日常操作中,相信很多人在如何使用html5的canvas问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用html...
    99+
    2024-04-02
  • 如何在html5中使用postMessage前端跨域并前端监听
    这篇文章将为大家详细讲解有关如何在html5中使用postMessage前端跨域并前端监听,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一步、架设两个不同端口的服务我们这里用koa2来搭建...
    99+
    2023-06-09
  • JS前端使用Canvas快速实现手势解锁特效
    目录前言Demo需要实现的功能初始化数据和页面渲染touchstart 手指开始触摸事件touchmove 监听手指滑动事件touchend 监听手指触摸结束事件页面滚动处理连接的两...
    99+
    2024-04-02
  • 如何使用director.js实现前端路由
    这篇文章主要介绍了如何使用director.js实现前端路由,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。director.js是什么? 理...
    99+
    2024-04-02
  • Vue前端如何对axios的封装和使用
    这篇文章将为大家详细讲解有关Vue前端如何对axios的封装和使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Axios 是一个基于 promise 的 HTTP 库。...
    99+
    2024-04-02
  • html5的canvas方法如何使用
    本文小编为大家详细介绍“html5的canvas方法如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“html5的canvas方法如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学...
    99+
    2024-04-02
  • 前端的轻量打包工具gulp如何使用
    今天小编给大家分享一下前端的轻量打包工具gulp如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一. 安装Node和g...
    99+
    2023-07-04
  • 如何使用移动HTML5前端框架MUI
    小编给大家分享一下如何使用移动HTML5前端框架MUI,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、 使用该框架之前的准备工作1. 新建含mui的HTML文件在Hbuilder中,新建...
    99+
    2024-04-02
  • 如何使用github部署前端vue项目
    本文小编为大家详细介绍“如何使用github部署前端vue项目”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用github部署前端vue项目”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。直接上手搞先整出一...
    99+
    2023-07-02
  • JS前端使用canvas动态绘制函数曲线示例详解
    目录前言第一步:绘制坐标系1、如何确定 x 轴和 y 轴的边界值2、不是传入多少网格数就是多少网格3、如何让坐标原点位于画布中心4、刻度总是会有浮点数第二步:画函数曲线第三步:绘制辅...
    99+
    2022-11-13
    JS canvas绘制函数曲线 JS canvas
  • JS前端使用canvas实现扩展物体类和事件派发
    目录前言FabricImage 图片类事件派发小结前言 虽然我们讲了这么多个章节,但其实目前为止就只有一个 Rect 类能用,略显单调。于是乎,为了让整个画布稍微生动一些,这个章节我...
    99+
    2022-11-13
    canvas扩展物体类事件派发 前端canvas扩展物体类
  • web前端怎么用H5-canvas实现粒子时钟
    这篇文章主要讲解了“web前端怎么用H5-canvas实现粒子时钟”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web前端怎么用H5-canvas实现粒子时...
    99+
    2024-04-02
  • html5 canvas如何获取当前坐标
    这篇文章主要为大家展示了“html5 canvas如何获取当前坐标”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5 canvas如何获取当前坐标”这篇文...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作