HTML5 Canvas实战
function clockTest() { var canvas = document.getElementById('canvas'); if (!(canvas && canvas.getContext)) { return; } var ct = canvas.getContext('2d'); var w = canvas.width = 500; var h = canvas.height = 300; var r1 = 95; var c3 = ct.createLinearGradient(0, 0, 0, h); c3.addColorStop(0, '#FFF'); c3.addColorStop(0.2, '#dad9e0'); c3.addColorStop(0.4, '#adb0b6'); c3.addColorStop(0.6, '#8f8f99'); c3.addColorStop(0.8, '#86878b'); c3.addColorStop(1, '#88898e'); var c4 = ct.createRadialGradient(w / 2, h / 2, w, w, w, w); c4.addColorStop(0, 'rgba(0,0,0,1)'); c4.addColorStop(0.2, 'rgba(0,0,0,0.8)'); c4.addColorStop(0.3, 'rgba(0,0,0,0)'); c4.addColorStop(0, 'rgba(0,0,0,0)'); function clock() { var d = new Date(); var dH = d.getHours(); var dM = d.getMinutes(); var dS = d.getSeconds(); //return; ct.clearRect(0, 0, w, h); ct.save(); ct.beginPath(); ct.strokeStyle = 'rgba(0,0,0,0.1)'; ct.fillStyle = c3; ct.arc(w / 2, h / 2, 135, 0, Math.PI * 2, true); ct.closePath(); ct.fill(); ct.stroke(); ct.restore(); ct.save(); ct.beginPath(); ct.strokeStyle = 'rgba(0,0,0,0.1)'; ct.fillStyle = '#E2E9F1'; ct.arc(w / 2, h / 2, 120, 0, Math.PI * 2, true); ct.closePath(); ct.fill(); ct.stroke(); ct.restore(); for (var i = 0; i < 60; i++) { ct.save(); ct.lineCap = 'square'; ct.beginPath(); if (i % 5 === 0) { ct.lineWidth = 5; ct.strokeStyle = '#333'; } else { ct.lineWidth = 2; ct.strokeStyle = '#333'; } ct.translate(w / 2, h / 2); ct.rotate(i * 6 * Math.PI / 180); ct.moveTo(0, -120); if (i % 5 === 0) { ct.lineTo(0, -105); } else { ct.lineTo(0, -110); } ct.closePath(); ct.stroke(); ct.restore(); } ct.save(); ct.translate(w / 2, h / 2); ct.fillColor = '#369'; ct.textAlign = 'center'; ct.textBaseline = 'middle'; ct.font = '25px times new roman'; ct.fillText(12, 0, -r1); ct.fillText(3, r1, -0); ct.fillText(6, 0, r1); ct.fillText(9, -r1, -0); ct.fillStyle = '#333'; ct.font = '16px verdara'; ct.fillText('KINGWELL', 0, 50); ct.restore(); ct.save(); ct.beginPath(); ct.translate(w / 2, h / 2); ct.rotate((dH + dM / 60) * 30 * Math.PI / 180); ct.lineWidth = 10; ct.strokeStyle = '#222'; ct.moveTo(0, 15); ct.lineTo(0, -70); ct.closePath(); ct.stroke(); ct.restore(); ct.save(); ct.beginPath(); ct.translate(w / 2, h / 2); ct.rotate((dM + dS / 60) * 6 * Math.PI / 180); ct.lineWidth = 6; ct.strokeStyle = '#333'; ct.moveTo(0, 20); ct.lineTo(0, -90); ct.closePath(); ct.stroke(); ct.restore(); ct.save(); ct.beginPath(); ct.translate(w / 2, h / 2); ct.rotate(dS * 6 * Math.PI / 180); ct.lineWidth = 2; ct.strokeStyle = '#C00'; ct.moveTo(0, 25); ct.lineTo(0, -100); ct.closePath(); ct.stroke(); ct.restore(); ct.save(); ct.beginPath(); ct.translate(w / 2, h / 2); ct.arc(0, 0, 6, 0, Math.PI * 2, true); ct.fillStyle = '#C00'; ct.closePath(); ct.fill(); ct.restore(); setTimeout(clock, 1000); } clock(); } clockTest();
相关推荐
本书《HTML5 Canvas游戏开发实战》由张路斌(lufy_legend)编写,深入浅出地讲解了如何利用HTML5 Canvas进行游戏开发,结合提供的源码实例,读者可以更直观地学习和理解相关技术。 1. **HTML5 Canvas基础** - ...
这本书——"HTML5 Canvas实战"显然深入探讨了这一技术,并提供了实践案例,非常适合前端开发者深入学习和提升技能。 Canvas是HTML5标准的一部分,它提供了一个二维绘图上下文,可以通过JavaScript来绘制图形,包括...
自己可以对你的所有绘画进行管理(分类和删除)。...其中使用到了bootstrap,利用html5的canvas来进行绘画。 localStorage来完成登录账户保存到这一会话中。使用websql保存账户和绘画。利用html5的拖拽进行分类。
2.3.12 设置网页的过渡效果 26 2.4 基底网址标记<base> 29 2.5 页面的主体标记<body> 30 2.5.1 设置文字颜色——text 31 2.5.2 背景颜色属性——bgcolor 32 2.5.3 背景图像属性——...
【HTML5实战游戏开发教程——冰桶挑战】 HTML5作为现代网页开发的主流技术,以其强大的功能和跨平台兼容性,极大地推动了网页游戏的发展。本教程“3 冰桶挑战-HTML5-实战游戏开发教程”正是针对这一主题,旨在帮助...
在这个“html5——企业网页”的实践中,我们将探讨HTML5如何应用于构建现代企业网站,以及其核心知识点。 首先,HTML5的语义化元素是其一大亮点。如`<header>`、`<nav>`、`<main>`、`<article>`、`<aside>`和`...
本资源——"响应式Web设计HTML5和CSS3实战第2版"——提供了深入的指导,帮助开发者理解和应用这两种技术。 HTML5作为新一代的超文本标记语言,引入了许多新特性,增强了网页的交互性和可用性。例如,新的语义化标签...
《Win8开发参考书——用HTML5和JAVESCRIPT开发Win8应用》是一本由微软内部专家亲述,深入浅出地介绍了如何利用HTML5和JavaScript开发吸引人的Windows 8应用的专业书籍。本书不仅提供了丰富的理论知识,还涵盖了实际...
5. ** canvas 和 svg**:HTML5的<canvas>元素用于在网页上进行动态图形绘制,而SVG(Scalable Vector Graphics)则提供矢量图的支持,两者为网页带来丰富的图形和动画效果。 个人blog的源代码通常包含以下几个部分...
在本实例中,"HTML5实现屏幕手势解锁代码包"是利用HTML5的核心技术之一——Canvas,来构建一个类似于手机屏幕的手势解锁功能。Canvas是一个可编程的画布,允许开发者通过JavaScript进行像素级别的图像处理,包括绘制...
这个"HTML5自学教材源码"提供了HTML5中的一个重要组件——canvas的学习资源,它主要用于在网页上绘制图形、创建动画以及构建游戏。Canvas是HTML5的一个核心元素,允许开发者通过JavaScript进行动态图像处理,为网页...
【HTML5实训大作业——站酷网某工作室首页仿写】是一个基于Vue.js技术栈的前端项目,旨在通过模仿站酷网上某个工作室的首页,帮助学习者深化对HTML5、CSS3以及Vue.js的理解和应用。这个项目不仅包含了网页结构的设计...
5. 实战项目:通过实践项目将理论知识转化为实际技能,如创建一个简单的交互式网页。 教程中的源代码部分会提供实例,供读者跟随学习并理解代码逻辑,从而加深对技术的理解。下载试读可以让潜在的学习者在决定是否...
- **定义**:HTML5(HyperText Markup Language 5)是万维网的核心语言——超文本标记语言的第五次重大修改。尽管它并非全新的技术,但带来了诸多改进和新特性,使其成为Web开发领域的一大革新。 - **重要性**:随着...
《HTML5与CSS3实战指南》一书深入浅出地介绍了Web开发中最为关键的两项技术——HTML5和CSS3。这本书不仅为读者提供了理论知识,更提供了大量的实战案例和技巧,使读者能够在实践中掌握这些技术。 首先,关于HTML5,...
9. **HTML5 Canvas 游戏开发实例详解.pptx**:更深入的Canvas游戏开发实例,可能包括具体的代码示例和实战技巧,对于想要提升游戏开发技能的开发者来说非常有价值。 10. **HTML5游戏开发实例分享(敲门沙龙版).pptx*...
4. HTML5新特性:HTML5是当前广泛使用的版本,引入了许多新元素和功能,如`<canvas>`用于图形绘制,`<video>`和`<audio>`用于多媒体播放,`<form>`元素的增强等。这些新特性极大地扩展了HTML的应用范围,使得开发者...
Canvas的核心是其脚本语言——Dafny,这是一种专为创建恶意代码和理解其行为而设计的语言。通过Dafny,用户可以编写复杂的攻击脚本,模拟各种漏洞利用场景,从而更好地理解和预防潜在的安全威胁。Dafny的强大之处...