HTML5页面绘图

canvas 标签:
获取画笔:

对象.getContext("2d")
制定画笔Syte:

context.fillStyle = "red";
context.fill();

context.strokeStyle = "blue";
context.stroke();
设置线条的宽度:

lineWidth=2 后面以像素单位

绘制有阴影的图形:

context.shadowBlur = 15;
context.shadowColor = "black";
绘制有渐变的图形:

context.createLinearGradient(10,10,110,10);起始位置和结束位置
addColorStop(0,"white");前面的图的百分比0-1
context.fillStyle = linearGradient;
绘制矩形:

context.fillRect(48,65,120,200);

擦除:

context.clearRect(0,0,200,100);

绘制圆形:

context.arc(0,0,0,0,0);
起始的X,Y,半径,起始角,弧度,逆时针:true 或者顺时针:False

绘制线条:

context.moveTo();
context.lineTo();

重置路径,开始新路径:

beginPath()

重置所有设置:

restore()
初始化起点位置:

translate() 坐标X和Y

例文:

<body>
<div>
<canvas id="cs" width="1300" height="600">
</canvas>
</div>
</body>

<script>

window.onload=function(){
android()
};
var cs = document.getElementById("cs");
//获取画笔
var context = cs.getContext("2d");

function android(){
context.lineWidth=25;
context.translate(400,150);
//绘制机器人身体
context.beginPath();
context.fillStyle = "#59cc41";
context.strokeStyle = "#59cc41";
context.lineJoin="round";
context.moveTo(0,0);
context.lineTo(80,0);
context.lineTo(80,90);
context.lineTo(0,90);
context.closePath();
context.fill();
context.stroke();
//绘制机器人的双手
context.beginPath();
context.lineWidth=2;

context.moveTo(-45,0);
context.lineTo(-45,60);
context.quadraticCurveTo(-35,70,-25,60);
context.lineTo(-25,0);
context.quadraticCurveTo(-35,-15,-45,0);

context.moveTo(105,0);
context.lineTo(105,60);
context.quadraticCurveTo(115,70,125,60);
context.lineTo(125,0);
context.quadraticCurveTo(115,-15,105,0);
context.fill();
//绘制机器人的双脚

context.moveTo(10,90);
context.lineTo(10,140);
context.quadraticCurveTo(20,150,30,140);
context.lineTo(30,90);

context.moveTo(50,90);
context.lineTo(50,140);
context.quadraticCurveTo(60,150,70,140);
context.lineTo(70,90);
context.fill();
//绘制机器人的头部
context.beginPath();
context.arc(40,-20,50,0,Math.PI,true);
context.fill();
//绘制机器人的眼睛
context.beginPath();
context.fillStyle = "black";
context.arc(20,-40,5,0,2*Math.PI,true);
context.fill();
context.beginPath();
context.fillStyle = "black";
context.arc(60,-40,5,0,2*Math.PI,true);
context.fill();
//绘制机器人的天线
context.beginPath();
context.lineWidth=5;
context.moveTo(10,-90);
context.lineTo(20,-60);
context.moveTo(70,-90);
context.lineTo(60,-60);
context.stroke();
}

</script>

时间: 2024-10-08 03:38:51

HTML5页面绘图的相关文章

HTML5页面开发的基础性模板

分享一个HTML5页面开发的基础性模板,包含了两个版本: 开发版本 注释版本 开发版本 <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta charset="utf-8"> <title></title> <meta name=&q

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地(转)

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地 我是应用在微信中,自定义菜单,菜单直接链接到这个HTML5页面,获取当前位置后,页面中定好目的地,这样打开页面后直接进入导航页面 可以省下先发送位置信息后,点确定再出导航,省一步, <!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"> <meta name="viewpor

写给“有钱大爷”、”美工殿下”、“前端文艺青年”的微信HTML5页面设计建议

我保证你一分钟就能看完这篇文章! 真的.. 角色解释: 需求方:有钱大爷 设计人员:美工殿下 前端工程师:前端文艺青年 一个HTML5页面从提出到完成上线的流程: 1.需求方.设计人员.H5实现人员三方共同讨论实现方案 2.设计人员出设计图 3.H5人员按设计图出H5页面 4.需求方评估已实现的H5页面后给予反馈 5.设计人员与H5人员根据反馈进行适当调整 6.发布推广 如何提出一个合理的微信HTML5页面设计诉求? 合理分析诉求与公司团队拥有的资源: 1.需求完成时间: 时间给的越多,项目做的

Html5页面使用javascript setCutomValidity()函数验证表单判断输入

<!DOCTYPE HTML><head><meta charset="UTF-8"><title>Html5页面使用javascript验证表单判断输入</title><script language="javascript">function check(){    var pass1=document.getElementbyid("pass1");    var pa

html5 canvas绘图-贝塞尔曲线

贝塞尔曲线(ezier curve)最迟是由法国物理学家与数学家paul de Casteljau发明的.它的广泛运用则要归功于法国工程师皮埃尔 贝塞尔 贝塞尔曲线期初被用在汽车车身的设计上.现在则多用于计算机图形系统中.例如Adobe Illustrator/Apple的Cocoa框架以及在Html5的canvas. 贝塞尔曲线分为两种:平方(quadratic)贝塞尔曲线及立方(cubic)贝塞尔曲线.平方贝塞尔曲线是一种二次曲线(second degree curve),意思就是说,它们是

移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)

前两天在开发在微信访问的HTML5页面,里面有个订单查询要选择时间,刚开始使用的<input type="date">输入框,没加任何的样式,效果是白色的背景再加上边框很丑,完 全与整个背景不协调. 刚开始设置了输入框背景色透明(background-color:transparent;),在ios上面背景色和边框都没有了,但是在andriod上边框和背景色还是存在.后来加上样式FILTER: alpha(opacity=0),在andriod中就去掉了边框和背景. 去掉背

用android studio创建第一个安卓程序加载html5 页面

前言 软件版本:android studio v1.0正式版,由于v0.x以来软件变化一直比较大,很多问题搜索的解决方案也都是v0.x版本时代的,故首先声明一下版本. 动机:由于工作中需要对移动端软件开发的几种方式进行一下对比研究,故有了此文章的产生,估计后续还会有其他技术方案的文章发布. 目标:为了适应跨平台的要求,所以用html5编写页面,利用webview装载html5页面就成为了一个备选的技术路线.本篇文章就是利用android studio创建一个apk程序,装载编写好的html5页面

HTML5页面资源预加载(Link prefetch)功能加速页面加载速度

页面资源预加载/预读取(Link prefetch)是什么?来自MDN的解释: 页面资源预加载(Link prefetch)是浏览器提供的一个技巧,目的是让浏览器在空闲时间下载或预读取一些文档资源,用户在将来将会访问这些资源.一个Web页面可以对浏览器设置一系列的预加载指示,当浏览器加载完当前页面后,它会在后台静悄悄的加载指定的文档,并把它们存储在缓存里.当用户访问到这些预加载的文档后,浏览器能快速的从缓存里提取给用户. 简单说来就是:让浏览器预先加载用户访问当前页后极有可能访问的其他资源(页面

HTML5 Canvas 绘图入门

HTML5 Canvas 绘图入门 HTML5 Canvas 绘图入门,仅供学习参考 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>HTML5 移动Web开发指南</title> <style type="text/css"> h1, h5 { text-align: center; } canvas {