实例演示

现在,我们开始通过一个实例来学习使用画布绘制矩形,圆,文本,图片等功能先看看效果:

建立HTML,并增加表格表单

先新建一个HTML的页面,并增加表格表单控件

<!DOCTYPE HTML>

<html>

<head>

<title>TweetShirt</title>

<meta charset="utf-8">

<style>

canvas{

border: 1px solid black;

}

</style>

<script src = "tweetshirt.js">

</script>

</head>

<body>

<h1>TweetShirt</h1>

<canvas id="tshirtCanvas" width="600" height="200">Please upgrade your browser to use TweetShirt!</canvas>

<form>

<p>

<label for="backgroudColor">选择背景颜色: </label>

<select id = "backgroundColor">

<option value="white" selected="selected">白色</option>

<option value="black">黑色</option>

</select>

</p>

<p>

<label for="shape">选择图形: </label>

<select id = "shape">

<option value="none" selected="selected">无</option>

<option value="circles">圆形</option>

<option value="squares">正方形</option>

</select>

</p>

<p>

<label for="foregroundColor">选择前景颜色: </label>

<select id = "foregroundColor">

<option value="black" selected="selected">黑色</option>

<option value="white">白色</option>

</select>

</p>

<p>

<input type="button" id="previewButton" value="预览">

</p>

</form>

</body>

</html>

JavaScript的处理表单控件

新建一个JavaScript的文件tweetshirt.js,首先启动预览按钮,这样点击这个按钮时它就会调用一个JavaScript的函数来处理画布绘制。

window.onload = function () {

var button = document.getElementById("previewButton");

button.onclick = previewHandler;

}

<!--预览点击事件-->

function previewHandler() {

var canvas = document.getElementById("tshirtCanvas");

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

//绘制图像之前,重置之前绘制的内容

fillBackgroudColor(canvas,context);

//查看界面选择了哪种颜色

var selectObj = document.getElementById("shape");

var index = selectObj.selectedIndex; //得到表单控件选项的编号的数组

var shape = selectObj[index].value; //得到选项的值

if (shape == "squares") {

for(var squares = 0 ; squares < 20; squares++) {

//绘制正方形

drawSquare(canvas,context);

}

}

if (shape == "circles") {

for(var circles = 0 ; circles < 20; circles++) {

//绘制圆

drawCircle(canvas,context);

}

}

//绘制文本

drawText(canvas,context);

//绘制图片

drawImage(canvas,context);

}

function fillBackgroudColor(canvas,context) {

var selectObj = document.getElementById("backgroundColor");

var index = selectObj.selectedIndex;

var bgColor = selectObj[index].value;

//fillStyle保存画布上完成绘制时所用的颜色,它是一个属性而不是方法,所以需要设置而不是调用

context.fillStyle = bgColor;

context.fillRect(0,0,600,200);

}

HTML5之帆布(canvas)(三)相关推荐

  1. html5怎么修改图片大小,HTML5 javascript修改canvas的大小

    方法1: 设定固定的值,这种方式跟在html中设定canvas的值没有什么区别: window.onload = function(){ canvas.height = 100; canvas.wid ...

  2. html5中用画布画小狗,HTML5中的Canvas(绘制)

    Canvas中不仅可以画线(路径),还能画很多其他的图像,这一章就介绍Canvas的其他两种绘图API. 矩形 我们在上一章只用线来画了一个矩形,其实可以一下子就画出来的,用下面函数: ctx.fil ...

  3. html根据坐标画圆,Canvas三种动态画圆实现方法说明(小结)

    前言 canvas是HTML5出来的绘图API容器,对于图形的处理非常强大,下面使用canvas配合JavaScript来做一下动态画圆效果.可以用它来做圆形进度条来使用. 这里我个人总结了3种实现方 ...

  4. HTML菊花图案绘制,用HTML5中的canvas元素画菊花

    用html5中的canvas画出的三种菊花,书上看到的例子,拿来当联系玩. 使用Canvas元素绘制美丽的花朵 var context; var A,n; function btn_onclick() ...

  5. 刮刮乐html5效果擦除,利用HTML5的画布Canvas实现刮刮卡效果

    先给大家展示效果: 你玩过刮刮卡么?一不小心可以中奖的那种.今天我给大家分享一个基于HTML5技术实现的刮刮卡效果,在PC上只需按住鼠标,在手机上你只需按住指头,轻轻刮去图层就可以模拟真实的刮奖效果. ...

  6. HTML5 中的canvas元素用于,HTML5中的Canvas元素

    canvas 元素用于在网页上绘制图形. 什么是Canvas? HTML 5 的canvas元素使用JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas ...

  7. html5画布页面,HTML5 界面元素 Canvas 参考手册

    HTML5 界面元素 Canvas 参考手册 转载请保留此句:太阳火神的美丽人生 -  本博客专注于敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否 ...

  8. canvas插件_HTML系列之-HTML5新元素之Canvas详解

    课程简介: 课程目标:通过本课程学习,掌握HTML5中图形绘制canvas的基本原理和使用,并利用canvas解决实际相关问题. 适用人群:具有一定html.css.javascript开发基础的人员 ...

  9. 用html语言编写笑脸,怎么使用HTML5中的Canvas绘制笑脸

    怎么使用HTML5中的Canvas绘制笑脸 发布时间:2021-02-26 09:33:14 来源:亿速云 阅读:75 作者:清风 这篇"怎么使用HTML5中的Canvas绘制笑脸" ...

  10. php代码输出笑脸,利用HTML5中的Canvas绘制笑脸的代码

    这篇文章主要介绍了利用HTML5中的Canvas绘制一张笑脸的教程,使用Canvas进行绘图是HTML5中的基本功能,需要的朋友可以参考下 今天,你将学习一项称为Canvas(画布)的web技术,以及 ...

最新文章

  1. linux 控制台输入命令无效_在控制台输入什么命令都提示commandnotfound原因是什么?suselinux...
  2. 核密度估计Kernel Density Estimation(KDE)-代码详细解释
  3. SAP CRM Fiori my task应用是如何在My Account应用里加载的
  4. Html 按钮button加超链接
  5. Java程序-进程中的进程
  6. 三星旗舰机系列名称即将更换 S10或成最后绝唱
  7. ajax请求的五个媒体查询,七个高度有效的媒体查询技巧
  8. 制作chrome插件教程
  9. Make WAR file 1.0
  10. 软件工程导论思维导图
  11. windows 文件后缀名
  12. 在集体奋斗中实现自己的价值
  13. Springboot 集成邮件服务 QQ企业邮箱
  14. 见或不见 →仓央嘉措
  15. 市政下水道疏通机器人_市政下水道疏通机器人 3D模型(SolidWorks设计,提供Sldprt/Sldasm/SLDDRW/dwg文件)...
  16. 2021年电气试验新版试题及电气试验模拟试题
  17. 读书VS整容,出国留学不如当网红?
  18. ppt转pdf转换器绿色版效果如何
  19. 3D主动立体播放器开发
  20. asterisk konference 视频会议,录音、监听,强插等的extensions.conf的命令 和 Asterisk 几个重要配置文件举例说明

热门文章

  1. web前端面试技巧-如何自我介绍?如何应对hr?
  2. 人民币对美元汇率中间价报6.7343元 上调13个基点
  3. MyBatis之ResultMap结果集映射
  4. “追梦五年”主题征文『51CTO五周年庆』
  5. Windows服务器应该如何保持长时间连接不断开。
  6. Java编程那些事儿2——程序设计是什么?
  7. thinkphp配置mysql集群_ThinkPHP教程_PHP框架之ThinkPHP(五)【连接数据库与主从数据库设置】...
  8. 第12篇:给任意java程序挂Socks5代理方法
  9. C# 打开exe文件
  10. 两个圆公切线求法_两圆公切线长的公式求法