html --- canvas --- javascript --- 绘图方法
Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像。
如有疑问请访问链接:http://javascript.ruanyifeng.com/htmlapi/canvas.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>概述以及绘图方法</title> </head> <body> <!-- Canvas API(画布)用于在网页实时生成图像,并且可以操作图像内容, -- 基本上它是一个可以用JavaScript操作的位图(bitmap) --> <canvas id="myCanvas" width="800" height="450"> 您的浏览器不支持canvas! </canvas> <script> /** *每个canvas元素都有一个对应的context对象(上下文对象), *Canvas API定义在这个context对象上面, *所以需要获取这个对象,方法是使用getContext方法。 */ var canvas = document.getElementById("myCanvas"); if (canvas.getContext) { var ctx = canvas.getContext('2d'); } /** * canvas画布提供了一个用来作图的平面空间, * 该空间的每个点都有自己的坐标,x表示横坐标,y表示竖坐标。 * 原点(0, 0)位于图像左上角,x轴的正向是原点向右,y轴的正向是原点向下。 */ ctx.beginPath(); // 开始路径绘制 ctx.moveTo(20, 20); // 设置路径起点 ctx.lineTo(200, 50); // 绘制一条到200, 20的直线 ctx.lineWidth = 1.5; // 设置线宽 ctx.strokeStyle = "red"; // 设置线的颜色 ctx.stroke(); // 进行线的着色,这时整条线才变得可见 /** * fillRect(x, y, width, height)方法用来绘制矩形, * 它的四个参数分别为矩形左上角顶点的x坐标、y坐标,以及矩形的宽和高。 */ ctx.fillStyle = 'yellow'; //设置矩形的填充色 ctx.fillRect(50, 50, 200, 100); ctx.strokeRect(100, 100, 200, 100); //绘制空心矩形 ctx.clearRect(120,80,50,50); //清除某个矩形区域的内容 /** * fillText(string, x, y) 用来绘制文本, * 它的三个参数分别为文本内容、起点的x坐标、y坐标 */ //设置字体 ctx.font = "Bold 20px Arial"; // 设置对齐方式 ctx.textAlign = "left"; // 设置填充颜色 ctx.fillStyle = "#008600"; // 设置字体内容,以及在画布上的位置 ctx.fillText("Hello!", 500, 200); // 绘制空心字 ctx.strokeText("Hello!", 450, 150); /** * arc方法用来绘制扇形。 * ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise); * arc方法的x和y参数是圆心坐标,radius是半径, * startAngle和endAngle则是扇形的起始角度和终止角度(以弧度表示), * anticlockwise表示做图时应该逆时针画(true)还是顺时针画(false)。 */ ctx.beginPath(); ctx.arc(650, 150, 50, 0, Math.PI*2, true); ctx.fillStyle = "black"; ctx.fill(); //空心圆形 ctx.beginPath(); ctx.arc(260, 160, 100, 0, Math.PI*2, true); ctx.lineWidth = 12.0; ctx.strokeStyle = "blue"; ctx.stroke(); /** * createLinearGradient方法用来设置渐变色 * createLinearGradient方法的参数是(x1, y1, x2, y2), * 其中x1和y1是起点坐标,x2和y2是终点坐标。 * 通过不同的坐标值,可以生成从上至下、从左到右的渐变等等。 */ var myGradient = ctx.createLinearGradient(200, 300, 400, 400); myGradient.addColorStop(0, "pink"); myGradient.addColorStop(1, "green"); ctx.fillStyle = myGradient; ctx.fillRect(100,300,200,100); /** * 一系列与阴影相关的方法,可以用来设置阴影。 */ ctx.shadowOffsetX = 10; // 设置水平位移 ctx.shadowOffsetY = 10; // 设置垂直位移 ctx.shadowBlur = 5; // 设置模糊度 ctx.shadowColor = "rgba(0,0,0,0.5)"; //设置阴影颜色 ctx.fillStyle = "#CC0000"; ctx.fillRect(400,300,200,100); </script> </body> </html>
运行结果如下:
html --- canvas --- javascript --- 绘图方法的更多相关文章
- Canvas 基本绘图方法总结
一.基本内容 1.简单来说,HTML5提供的新元素<canvas> 2.Canvas在HTML页面提供画布的功能,在画布中绘制各种图形 3.Canvas绘制的图形与HTML页面无关, ...
- Canvas绘图方法和图像处理方法(转)
转自:http://javascript.ruanyifeng.com/htmlapi/canvas.html 概述 Canvas API(画布)用于在网页实时生成图像,并且可以操作图像内容,基本上它 ...
- javascript canvas 生成图片的方法
javascript canvas 生成图片的方法 先生成base64格式的图片 然后ajax传到后台 写入服务器文件夹即可<pre><!DOCTYPE HTML><ht ...
- HTML5 Canvas 2D绘图
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/4851774. ...
- 【JavaScript游戏开发】使用HTML5+Canvas+JavaScript 封装的一个超级马里奥游戏(包含源码)
这个游戏基本上是建立在JavaScript模块化的开发基础上进行封装的,对游戏里面需要使用到的游戏场景进行了封装,分别实现了Game,Sprite,enemy,player, base,Animati ...
- canvas主要属性和方法
canvas主要属性和方法 方法 描述 save() 保存当前环境的状态 res ...
- 高性能动画!HTML5 Canvas JavaScript框架KineticJS
高性能动画!HTML5 Canvas JavaScript框架KineticJS KineticJS是一款开源的HTML5 Canvas JavaScript框架,能为桌面和移动应用提供高性能动画,并 ...
- [原创] 改善 Firemonkey Canvas 几何绘图质量问题(移动平台)
说明: Fiiremonkey 的跨平台能力,大家有目共睹(一码同介面跨四平台),唯独移动平台在几何绘图方面,质量始终不尽人意,我也曾试着去修正(如:修正曲线平滑问题),也曾找过第三方案(如:AggP ...
- JavaScript - reduce方法,reduceRight方法 (Array)
JavaScript - reduce方法 (Array) 解释:reduce() 方法接收一个函数作为累加器(accumulator),数组 中的每个值(从左到右)开始合并,最终为一个值. 语法:a ...
随机推荐
- Java:异常的处理
异常分两种大的异常类型,运行时异常和受检查异常. 用户既可以使用系统的异常类来处理异常信息,也可以创建系统的异常类的子类来自定义异常,这种方式比较灵活,虚拟机可以报出自己设置的异常信息,清楚明白. 1 ...
- jQuery-瀑布流-绝对定位布局(二)(延迟AJAX加载图片)
jQuery-瀑布流-绝对定位布局(二)(延迟AJAX加载图片) 瀑布流-绝对定位布局,与浮动布局的区别在于 1.布局不一样: 绝对定位:一个UL里面放置所有的绝对定位的LI: 浮动布局:多个(一 ...
- 可视化MNIST之降维探索Visualizing MNIST: An Exploration of Dimensionality Reduction
At some fundamental level, no one understands machine learning. It isn’t a matter of things being to ...
- 蒙特罗卡π算法(C++语言描述)
圆的面积计算公式为:S=π*r*r 将圆放到一个直角坐标系中,如图黄色部分的面积是S/4=(π*r*r)/4;如果我们将取一个单位圆,则S/4=π/4. 因为是单位圆,半径为1,所以图中红色正方形的面 ...
- leetcode:Compare Version Numbers
Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ...
- CFileDialog使用总结
http://blog.csdn.net/tianhai110/article/details/2055149 CFileDialog经常用,但经常忘,现归纳整理下,方便今后查询. 例子: CFile ...
- android 开发如何做内存优化
不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露.其实如果我 们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造 ...
- linq to sql ,将var 类型转为 IList 类型
public void SOHSelecting(int startRowIndex, int maximumRows, string sortExpression, string location) ...
- 另类方法解决设计Web页面出现:Error Creating Control
在B/S开发的过程中,经常会遇到这样的提示:Error Creating Control ,而这些页面明明之前是可以打开的,但还是出现如下图所示: 网上找到的方法是把控件初始化放在OnInit里去写, ...
- 【第六篇】javascript显示当前的时间(年月日 时分秒 星期)
不多说自己上代码 这是我开始学javascript写的,现在发出来 <span id="clock" ></span> function time() { ...