html5的canvas元素使用,HTML5canvas元素概念及使用方法介绍

一. canvas简介

??canvas是html5新增的元素,主要用于图形的绘制。canvas本身没有绘图能力,一切都是通过javascript来完成的。

二. canvas使用

在html中添加canvas元素,定义canvas元素的高宽

在javascript代码中获取canvas元素对象

var canvas = document.getelementbyid("canv");

调用该对象的getcontext(“2d”)方法获取上下文

var context = canvas.getcontext("2d");

使用上下文对象在canvas上绘制图形。绘制图形的方法在下一部分介绍

三. 绘制图形的方法

绘制直线

context.moveto(x, y); // 定义直线的起点

context.lineto(x, y); // 定义直线的终点

context.stroke(); // 绘制直线

绘制扇形(圆也可以认为是扇形)

context.arc(originx, originy, r, startrad, stoprad); // 定义扇形(包括圆心坐标,半径以及开始绘制和结束绘制的弧度)

context.stroke(); // 绘制扇形

绘制矩形

context.fillrect(x, y, width, height); // 绘制矩形,(x,y)表示矩形左上角顶点的坐标

绘制文本

context.filltext(text, x, y); // 绘制文本,(x, y)表示文本左下角的坐标

绘制图像

var img = document.getelementbyid("testimage"); // 获取图像元素对象

context.drawimage(img, x, y); // 绘制图像,(x, y)表示图像左上角坐标

四. 上下文对象的属性

fillstyle

?用来定义绘制样式。可以在绘制直线,扇形,矩形和文本时使用。取值可以时颜色,渐变或图案,默认是颜色#000000。

context.fillstyle = "red"; // 设置绘制样式为红色

context.fillrect(x, y, width, height); // 此时矩形是红色的

??? fillstyle的取值可以是渐变。创建渐变的代码如下:

var grd = context.createlineargradient(x, y, x1, y1); // 创建线性渐变

grd.addcolorstop(0, "red"); // 设置渐变起始颜色为红色

grd.addcolorstop(0, "blue"); // 设置渐变结束颜色为蓝色

var grd = context.createradialgradient(x, y, r, x1, y1, r1); // 创建径向渐变

grd.addcolorstop(0, "red"); // 设置渐变起始颜色为红色

grd.addcolorstop(0, "blue"); // 设置渐变结束颜色为蓝色

font

? 用来定义绘制文本时的使用字体。

context.font = "幼圆"; // 使用幼圆字体

context.filltext(text, x, y); // 使用幼圆字体绘制文本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Delphi XE2 之 FireMonkey 入门(10) - 常用结构 TPoint、TPointF、TSmallPoint、TSize、TRect、TRectF 及相关方法...

它们都是结构, TPointF、TRectF 属新增, 其它也都有升级; 现在都拥有丰富的方法和方便的运算符重载; 且有一组相关的公共函数.这组内容重要的是它们都来自 System.Types 单元, 也就是不仅仅在 FM 中可用. TPoint: Create(); // {运算符重载} Equal; // NotEqual;…

【C++ grammar】数据类型转换、列表初始化

布尔类型 C语言在其标准化过程中引入了bool、true和false关键字,增加了原生数据类型来支持布尔数据。 布尔类型的大小(所占的存储空间)依赖于具体的编译器实现。也可以用 sizeof运算符得到其占用的空间 Conversion between bool and int 0…

Python对自定义离散点进行指定多项式函数拟合

自定义离散点进行指定多项式函数拟合 用户自己自己输入坐标点,拟合函数可根据用户输入的多项式的最高次方进行自动拟合函数,拟合方法采用最小二乘法进行函数拟合。 (1,2),(2,5),(3,10),(4,17),(5,26),(6,37)(7,50),(8,65),(9,82) 很显然是函数为二次函…

选哪个云计算平台部署自己的网站?

技术发展让我们可以拥有免费的空间啦! 现在的云计算平台很多,各大公司都在做这个。 我最近用了国内访问比较顺畅的,新浪SAE,cloudfoundry,openshift。 开始用新浪SAE,因为豆子花光了,就转到clou…

array_fill_PHP array_fill()函数与示例

array_fillPHP array_fill()函数 (PHP array_fill() Function) array_fill() function is used to fill the n elements in an array from given index with the specific value. array_fill()函数用于使用给定索引从给定索引中填充数组中的n个元素。 Syntax: 句法&#xff1a…

阜阳市计算机学校助学金申请书,计算机系贫困生助学金申请书

尊敬的学校领导:您好!我叫____来自计算机系____级____专业____班,我是一名喜爱读书、热爱集体并且性格温和的男孩。我出生在一个贫穷而又落后的小村。家中有五口人,父母文化浅薄,在家务农,由于多年的劳累,父母两人身体状况较差,农业收入低微,…

【C++ grammar】C++简化内存模型

1、stack(栈) 编译器自动分配内存(函数内部定义得局部变量、形参) 2、堆(Heap) 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收(new和delete) …

Effect of Diethylene Glycol on the Inkjet Printability of Reactive Dye Solution for Cotton Fabrics.

Effect of Diethylene Glycol on the Inkjet Printability of Reactive Dye Solution for Cotton Fabrics 二乙二醇对棉织物活性染料溶液喷墨印刷性能的影响 Diethylene Glycol 二乙二醇 Inkjet Printability 喷墨印刷性能 Reactive Dye Solution 活性染料溶液 Cotton Fabric…

一些常用的工具

可查看网站服务器使用的架构 http://toolbar.netcraft.com/site_report?urlwww.163.com 可在线制作 icon 图标 http://www.damotou.com/index.php 好的UI设计 http://www.uiimg.com/ 转载于:https://www.cnblogs.com/ouuy/p/3183613.html

Silverlight4.0教程之使用CompositeTransform复合变形特效实现倒影

微软于PDC2009上发布Silverlight 4 Beta版,微软在Silverlight 4版本中处理了约8000个的Silverlight终端用户的请求,加入了一系列另开发人员兴奋的新特性,最突出的主要体现在几个方面: 开发工具增强:Visual Studio 2010…

julia矩阵运算_Julia中的复数及其运算

julia矩阵运算Julia| 复数 (Julia | Complex Numbers) The syntax to represent the complex number in Julia is: 在Julia中表示复数的语法为: Syntax: 句法: ABimHere, A and B are the values, and im is the global constant which is bound to th…

2019年的wps计算机考试题,2019年3月计算机一级WPS模拟题及答案(2.21)

【导语】2019年3月计算机一级考试备考正在进行中,为了方便考生及时有效的备考,那么,无忧考网为您精心整理了2019年3月计算机一级WPS模拟题及答案(2.21),把握机会抓紧练习吧。如想获取更多计算机一级考试模拟题及备考资料&#xff…

Python求解多项式方程

例如:二次函数:f(x) 10x^2 - 14x 22,依次求解x1,2,3,4,5,6时函数表达式所对应的函数值。 import numpy as np #f(x) 10*x^2 - 14x 22 p np.array([10,-14,22])#这里存放的是系…

CSS中的border-radius属性

CSS | 边界半径属性 (CSS | border-radius Property) The border-radius property is commonly used to convert box elements into circles. We can convert box elements into the circle element by setting the border-radius to half of the length of a square element. …

【C++ grammar】Enhancement for Type System (C++11 对类型系统的增强)

数据类型 (Data type) int, long int, double, struct, char *, float [], int (*f)()… 计算机程序构造块 计算机程序构造块是不同大小粒度的计算机程序组成部分,它包括变量、表达式、函数或者模块等。 类型系统 (Type System) 类型系统:在编程语言中…

.net romoting 的EventWrapper类

.net romoting 的EventWrapper类 注意:防火墙的问题 --------------------------------------------------- //定义广播服务接口 [Serializable] public delegate void BroadCastEventHandler(string info); public interface IBroadCastService {…

一、织物组织相关基本概念

一、织物形成的五大运动:开口、引纬、打纬、送经、卷取 开口运动(先开口让织物形成上下两层) 引纬运动(在上下两层经纱之间进行引纬,把纬纱穿入上下两层经纱之间,从而实现经纱纬纱之间的交织) …

达尔豪斯大学计算机科学世界排名,达尔豪斯大学成了全加最好,这又是个什么排名?...

原标题:达尔豪斯大学成了全加最好,这又是个什么排名?没有“八大”的知名,没有“常春藤”的受宠,虽然它只是众多名校中的普通一个,但只要你对它有个稍微的了解,你一定会爱上它的!它虽…

tag标签记录

看到项目代码中有一个自定义的tag标签,想起以前自己写过的标签,竟然忘记的差不多了,手一痒,自己写个简单的tag标签,回顾一下历史知识 首先建一个servlet工程,然后写个index.jsp,项目跑起来&…

java类只读怎么办_如何在Java中制作一个只读类?

java类只读怎么办The question is that "can we make a read-only class in Java?" 问题是“我们可以用Java制作一个只读类吗?” The answer is: "Yes, we can make a read-only in java." 答案是: “是的,我们可以在J…