当前位置: 首页 > news >正文

简述html5如何编写画布程序,HTML5画布概述

本文提供了HTML5的画布基本用法的概述。概述被分成两部分:

声明一个HTML5 canvas元素。

绘图画布元素的图形。

声明canvas元素

首先,让我们来看看如何在一个HTML页面声明canvas元素:

style="border: 1px solid #cccccc;">

HTML5 Canvas not supported

上面的代码声明了一个帆布带元素的宽度 设置为500,高度设置为150,和样式设置为颜色1像素边框#CCCCCC。

里面的文字画布元素将被忽略,如果浏览器支持HTML5的Canvas元素。如果不支持HTML5的画布元素,文本可能会被显示为在浏览器的普通文字。

你应该把画布的HTML代码在你的网页在您想要在画布可见的位置。就像任何其他的HTML元素(如DIV元素)。

在Canvas元素绘制图形

绘制一个HTML5画布上的图形绘制在立即模式。直接模式意味着,只要你画的形状在画布上,在画布不再知道该形状什么。形状是可见的,但你不能单独操作的形状。它像一个真正的帆布画。涂一次,你就只剩下了彩色颜料/像素。

这是违背SVG,在那里你可以单独操作的形状,并有全图重新绘制。在HTML5中,你将不得不重新绘制自己的一切,如果你想改变的绘制图。

一个HTML5 canvas元素使用JavaScript完成的画图,按照下列步骤:

等待页面被完全加载。

获取引用canvas元素。

获得canvas元素2D背景的。

绘制2D使用环境的抽奖功能的图形。

下面是一个简单的代码示例,说明上述步骤:

// 1. wait for the page to be fully loaded.

window.onload = function() {

drawExamples();

}

function drawExamples(){

// 2. Obtain a reference to the canvas element.

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

// 3. Obtain a 2D context from the canvas element.

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

// 4. Draw graphics.

context.fillStyle = "#ff0000";

context.fillRect(10,10, 100,100);

}

首先,事件侦听器功能被连接到窗口。当网页加载此事件侦听器的功能被执行。此函数调用我定义另一个函数,称为drawExamples()。

二,drawExamples()函数中,使用所引用canvas元素的document.getElementById()函数,将IDcanvas元素,如在canvas元素的声明中定义。

三,drawExamples()函数获取对从画布元素的2D背景下,通过调用canvas.getContext(“2D”)以前获得的canvas元素上。

四,()drawExamples函数调用各种绘图功能的2D上下文对象,从而导致图形上被绘制在画布上。

下面是执行代码时的外观:

0818b9ca8b590ca3270a3433284dd417.png

相关文章:

  • 计算机网络CIDA,计算机类 | EuroSys 2019等国际会议信息7条
  • 计算机重装系统桌面文件如何恢复,电脑重装系统后怎么恢复原来的文件方法
  • 计算机基础及ms office应用选择题,《计算机基础及MS-Office应用》整理选择题170题含答案.pdf...
  • 电气及计算机工程专业,电气与计算机工程专业电气与计算机工程专业的申请要求...
  • 误删桌面计算机图标win10,win10此电脑图标误删
  • 国家开放大学计算机应用基础形考作业四,国家开放大学“计算机应用基础”形考作业2...
  • 计算机office四级考证试题,全国计算机一级考试MSoffice全真模拟试题4
  • 活动3计算机软件系统教案,《计算机应用基础》_教案设计
  • 计算机进入不了管理器,电脑没有桌面且任务管理器打不开怎么办
  • 兰大计算机学院院长,兰州大学信息科学与工程学院
  • 什么是计算机使用及安全管理制度,安全管理制度
  • 苹果8的计算机怎么恢复,苹果手机怎么恢复短信?教你如何一键找回
  • 计算机开机关机清除键都是什么,详细教您win10电脑关机后自动开机怎么解决
  • 计算机数据采集 的优点,浅谈数据采集器的硬件特点及作用
  • 怎么用服务器网络中转,怎么假设中转服务器
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • Java Agent 学习笔记
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • jquery ajax学习笔记
  • laravel with 查询列表限制条数
  • Python学习笔记 字符串拼接
  • React的组件模式
  • 分布式任务队列Celery
  • 基于组件的设计工作流与界面抽象
  • 你真的知道 == 和 equals 的区别吗?
  • 深入浅出webpack学习(1)--核心概念
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 使用SAX解析XML
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 原生js练习题---第五课
  • 转载:[译] 内容加速黑科技趣谈
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • 组复制官方翻译九、Group Replication Technical Details
  • #Java第九次作业--输入输出流和文件操作
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $(function(){})与(function($){....})(jQuery)的区别
  • (1) caustics\
  • (3)STL算法之搜索
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (力扣题库)跳跃游戏II(c++)
  • .NET 动态调用WebService + WSE + UsernameToken
  • .sdf和.msp文件读取
  • /proc/stat文件详解(翻译)
  • @Builder用法
  • @Documented注解的作用
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [bzoj1912]异象石(set)
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [EULAR文摘] 利用蛋白组学技术开发一项蛋白评分用于预测TNFi疗效
  • [java基础揉碎]方法的重写/覆盖
  • [LeetCode] 148. Sort List 链表排序
  • [leetcode]Symmetric Tree
  • [mit6.s081] 笔记 Lab2:system calls
  • [NAND Flash 6.2] NAND 初始化常用命令:复位 (Reset) 和 Read ID 和 Read UID 操作和代码实现