HTML5 Canvas 初探
仅仅只是一个简单的hello world.
js代码很简单:
- <!DOCTYPE HTML>
- <html lang="cn">
- <head>
- <title> canvas1 </title>
- <meta charset="UTF-8">
- //@author 杨虹昌
- <script type="text/javascript">
- //测试浏览器是否支持canvas
- function canvasSupport(){
- return !!document.createElement('canvas').getContext;
- }
- //添加window事件,文档加载完成之后执行此函数
- window.addEventListener('load',eventWindowLoaded,false);
- //输出日志信息对象简单封装
- var Debugger=function(){};
- Debugger.log=function(message){
- try{
- console.log(message);
- }catch(e){
- return;
- }
- }
- //窗体加载后执行函数
- function eventWindowLoaded(){
- canvasApp();
- }
- //
- function canvasApp(){
- if(!canvasSupport()){
- return;
- }
- //获取html元素id为theCanvas的画布元素
- var theCanvas=document.getElementById('theCanvas');
- //获得2D上下文,注意:此处2d只能是小写,大写则为undefined,很郁闷为何不做静态常量,也许是我不知道吧
- var context=theCanvas.getContext('2d');
- //输出信息
- Debugger.log('Drawing Canvas');
- //画对应类容
- function drawScreen(){
- //background 设置背景颜色
- context.fillStyle="#ffffaa";
- context.fillRect(0,0,500,300);
- //font 设置字体
- context.fillStyle="#000000";
- context.font="20px_sans";
- context.textBaseline="top";
- context.fillText("Hello World",195,80);
- //image 加载一张图片并输出到画布
- var helloWorldImage=new Image();
- helloWorldImage.src="http://avatar.csdn.net/0/E/9/1_yhc13429826359.jpg";
- helloWorldImage.onload=function(){
- context.drawImage(helloWorldImage,160,130);
- };
- //border 边框设置
- context.strokeStyle="#000000";
- context.strokeRect(5,5,490,290);
- }
- drawScreen();
- }
- </script>
- </head>
- <body>
- <div style="position:absolute;top:50px;left:50px;">
- <canvas id="theCanvas" width="500" height="500">
- 浏览器不支持html5 canvas,建议使用chrome,FF
- </canvas>
- </body>
- </html>
最终效果图:
只是一个最简单的例子,后续会详细解释.
HTML5 Canvas 初探的更多相关文章
- HTML5 程序设计 - 使用HTML5 Canvas API
请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...
- 赠书:HTML5 Canvas 2d 编程必读的两本经典
赠书:HTML5 Canvas 2d 编程必读的两本经典 这两年多一直在和HTML5 Canvas 打交道,也带领团队开发了世界首款基于HTML5 Canvas 的演示文档工具---AxeSlide( ...
- 如何开发一个简单的HTML5 Canvas 小游戏
原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学.(如果你怀疑我的资历, A Wiz ...
- html5 canvas常用api总结(一)
1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...
- HTML5 Canvas绘制转盘抽奖
新项目:完整的Canvas转盘抽奖代码 https://github.com/givebest/GB-canvas-turntable 演示 http://blog.givebest.cn/GB-ca ...
- html5 canvas首屏自适应背景动画循环效果代码
模板描述:html5 canvas首屏自适应背景动画循环效果代码 由于动态图太大,怕以后服务器受不了,所以现在都改为静态图了,大家点击演示地址一样的,希望大家喜欢,你们的支持就是小海的动力!! 欢迎大 ...
- 自己写的HTML5 Canvas + Javascript五子棋
看到一些曾经只会灌水的网友,在学习了前端之后,已经能写出下载量几千几万的脚本.样式,帮助大众,成为受欢迎的人,感觉满羡慕的.我也想学会前端技术,变得受欢迎呀.于是心血来潮,开始学习前端知识,并写下了这 ...
- canvas初探2
2.2 canvas的绘图环境 canvas仅仅只是一个绘图的容器,其内存在一个绘图环境,该环境对象提供了全部的绘图功能. 目前canvas的绘图环境是2d,但canvas规范在着手准备支持其他类型的 ...
- HTML5 Canvas彩色小球碰撞运动特效
脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效. 效果展示 http://hovertree.com/texiao/html5/39/ ...
随机推荐
- K8s仪表盘
{ "__inputs": [ { "name": "DS_TEST-ENVIORMENT-K8S", "label": ...
- socketserver多线程处理
一.简介 SocketServer简化了网络服务器的编写.在进行socket创建时,使用SocketServer会大大减少创建的步骤,并且SocketServer使用了select它有5个类:Base ...
- [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移
4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.6什么是神经网络风格转换neural style transfer 将原图片作为内容图片Cont ...
- 集合框架小结-Collection
1.集合框架作为处理对象的容器存在,基本接口是Collection,相对于数组而言的话,集合框架只能存储对象,但是长度是可变的.集合框架的关系图如下: 主要的内容是list.set.map, List ...
- 【BZOJ】3036: 绿豆蛙的归宿
[题意]给定DAG带边权连通图,保证所有点都能到达终点n,每个点等概率沿边走,求起点1到终点n的期望长度.n<=10^5. [算法]期望DP [题解]f[i]表示到终点n的期望长度. f[n]= ...
- a 标签传值
转载:http://blog.csdn.net/muyeju/article/details/48594377 .<a>标签传值的形式--参数固定:<a href="地址? ...
- 在Unity中实现屏幕空间阴影(2)
参考文章: https://www.imgtec.com/blog/implementing-fast-ray-traced-soft-shadows-in-a-game-engine/ 完成的工程: ...
- Django 自定义分页类
分页类代码: class Page(object): ''' 自定义分页类 可以实现Django ORM数据的的分页展示 输出HTML代码: 使用说明: from utils import mypag ...
- 36 - 网络编程-TCP编程
目录 1 概述 2 TCP/IP协议基础 3 TCP编程 3.1 通信流程 3.2 构建服务端 3.3 构建客户端 3.4 常用方法 3.4.1 makefile方法 3.5 socket交互 3.4 ...
- 关于angular导入第三方库的问题
angular-cli使用webpack来将模块打包,在这里配置的scripts和styles会被打包成script.bundle.js和styles.bundle.js文件加载到前台页面. 这样就可 ...