1.我们前端的绘图技术有哪些:

统计图表:echarts

实时走势图:canvas;

在线画板:魔猴;

HTML5游戏:three.js

2.我这里主要讲的是canvas绘图;

<canvas> 标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形。

在画布上(Canvas)画一个红色矩形,渐变矩形,彩色矩形,和一些彩色的文字。

HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.

<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。

你可以通过多种方法使用 canvas 绘制路径,盒、圆、字符以及添加图像。

3.接下来我们来了解怎么用画布:

首先我们要创建一个画布;<canvas></canvas>,画布是可以设置宽高的,但是我们要记住一点,我们设置宽高要写行内样式,不能写=外部样式,因为在外部样式中我们的单位是px,如果我们把画布的宽和高设置大一点,就会失真,画布就会被拉扯大,我们就会看到1px的小方格网;

4.我们首先要获取画布,这是跟我们获取元素是一样的,然后就是canvas.getContext("2d");获取画布对象上下文,即相当于获取画笔;

画矩形:

画布的原点是我们的左上角(0 ,0)

ele.fillRect(x轴,y轴,宽度,高度)实心矩形     ele.fillStyle= "颜色”;

我们矩形的坐标也是我们的左上角

ele.strokeRect(x轴,y轴,宽度,高度);空心矩形   ele.strokeStyle = “颜色”;

我们的颜色要放到我们在绘制图形的前面写

canvas的路径:

ele.beginPath();这就相当于告诉我们,绘制要开始了;

我们的路径就相当于点线面的过程

我们的坐标点也是从(0,0)开始的;

起始点:moveTo(0,0);

转折点:lineTo();这个是终点,也是转折点;这个可以写多个;

ele.stroke();

ele.closePath()结束

这样路径就绘制好了;

画圆:

ele.beginPath();

ele.arc(x,y,半径,开始的弧度,结束的弧度,顺时针)false/true逆时针;

ele.stroke();空心圆;

ele.fill();实心圆

绘制文字:

font - 定义字体

fillText(文字,x,y) - 在 canvas 上绘制实心的文本

strokeText(文字,x,y) - 在 canvas 上绘制空心的文本

shadowBlur="5"设置阴影模糊度;

shadowColor = “颜色”

shadowoffsetX = 偏移x的距离;

shadowoffsetY= 偏移y的距离;

线性渐变:
// 创建渐变 var grd=ctx.createLinearGradient(0,0,200,0);开始坐标到结束坐标

grd.addColorStop(0,"red");//偏移量和颜色

grd.addColorStop(1,"white");

// 填充渐变

ctx.fillStyle=grd;

ctx.fillRect(10,10,150,80);

扇形渐变

createRadialGradient(75,50,5,90,60,100)开始坐标和半径,结束坐标和半径

图像:

获取图片:

var ele = new Image();//创建图片容器

ele.src = “图片路径”;

图片直接在画布是显示不出来的;

为了使图片加载出来我们要使用ele.onload = function(){

canvas.drawImage(ele,x,y,w,h)//图片,坐标,宽高

}

ele.createpattern(图片,“repeat”)平铺

canvas的介绍的更多相关文章

  1. canvas 基本介绍

    # canvas 基本功能介绍 - canvas 能做什么 1. 绘制简单图形线条 2. 裁剪图片 - 开始绘制画布 新建html文档添加 canvas标签 ```html <div style ...

  2. Android Canvas类介绍

    当我们调整好画笔之后,现在需要绘制到画布上,这就得用Canvas类了.在Android中既然把Canvas当做画布,那么就可以在画布上绘制我们想要的任何东西.除了在画布上绘制之外,还需要设置一些关于画 ...

  3. HTML5中canvas介绍

    1.什么是Canvas canvas 是 HTML5 提供的一个用于展示绘图效果的标签 canvas 提供了一个空白的图形区域,可以使用特定的JavaScript API来绘画图形(canvas 2D ...

  4. Html5 学习系列(五)Canvas绘图API快速入门(2)

    Canvas绘图API Demos 上一篇文章中,笔者已经给大家演示了怎么快速用Canvas的API绘制一个矩形出来.接下里我会在本文中给各位介绍Canvas的其他API:绘制线条.绘制椭圆.绘制图片 ...

  5. HTML5画布Canvas

    一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...

  6. H5 canvas圆形的时钟

    今天用H5中的canvas标签做一个时钟,H5中有很多好用的新增标签,真的很不错. 1.canvas标签介绍 <canvas> 标签定义图形,比如图表和其他图像,你必须使用脚本来绘制图形. ...

  7. canvas 从初级到XX 1# 部分非基础原生API的使用 [初级向]

    标题canvas 从初级到XX,XX是因为本文随机都可能会太监,并不会支持到入土.请慎重的往下看. 对于canvas的介绍,随处都可以找到,也就不啰嗦太多了.就直奔主题了. 先看一段代码,以及实现的效 ...

  8. 2小程序canvas使用,及一些坑,以及自己的一些小总结

    自己做了一个小程序,主要用于给头像加图标的那种,和qq似的,主要用canvas做的, 第一回用,掉了很多坑,所以今天总结一下自己所做的,如果大家有不理解的地方,欢迎提问:如果帮到大家的话,帮忙点个啥的 ...

  9. js文件上传原理(form表单 ,FormData + XHR2 + FileReader + canvas)

    目录 form表单上传 FormData + XHR2 + FileReader + canvas 无刷新本地预览压缩上传实例 目前实现上传的方式 浏览器小于等于IE9(低版本浏览器)使用下面的方式实 ...

随机推荐

  1. kubeadm 1.16+ 初始化后 Unable to update cni config: no valid networks found in /etc/cni/net.d

    问题描述: 在使用 kubeadm 工具初始化k8s后,并且安装了 flanneld 网络组建后,/var/log/messages 依旧报错, Unable to update cni config ...

  2. CentOS 7 Cobbler 自动化安装系统

    在上一篇Cobbler 安装中,配置好了Cobbler,下面来配置自动化安装 配置cobbler-DHCP # 修改settings中参数,由cobbler控制dhcp [root@cobbler ~ ...

  3. wdCP v3.3.8apache阿里云ssl证书实现智慧软文http转换https的详细操作教程

    先展示一下效果:智慧软文发布系统(https://www.zhihuiruanwen.com) 之前用的是传统的http,发现360浏览器,火狐浏览器,谷歌浏览器均提示不安全的链接,最主要的是第一次打 ...

  4. 在华为云ECS上手工通过Docker部署tomcat

    本文介绍了如何在华为云上ECS上手工通过Docker部署tomcat,并提供了Docker常用操作 一.环境准备 ECS:操作系统版本:    CentOS Linux release 7.6.181 ...

  5. 华为云BigData Pro解读: 鲲鹏云容器助力大数据破茧成蝶

    华为云鲲鹏云容器 见证BigData Pro蝶变之旅大数据之路顺应人类科技的进步而诞生,一直顺风顺水,不到20年时间,已渗透到社会生产和人们生活的方方面面,.然而,伴随着信息量的指数级增长,大数据也开 ...

  6. zabbix配置

    一:安装zabbix服务端 1.部署准备 命令:iptables -F     #关闭防火墙命令:systemctl stop firewalld    #关闭防火墙 设置解析,自建yum源 命令:c ...

  7. 学习ThinkPHP的第20天--MySQL事务操作、查询事件、一对一关联

    之所以从20天才开始写随笔记是因为之前没搞自己的博客 从20天开始记录我在ThinkPHP中的点点滴滴 1.MySQL事务操作 /**事务操作*/ //startTrans启动事务.rollback回 ...

  8. maven与ecplise的整合

    Maven 概念: Maven 使用项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven 除了以程序构建能力为特色之外,还提供高级项目管理工 ...

  9. hdu3999 The order of a Tree

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3999 题意:给一序列,按该序列插入二叉树,给出字典序最小的插入方法建相同的一棵树出来.即求二叉树的先序 ...

  10. ZOJ 2112 Dynamic Rankings(树状数组+主席树)

    The Company Dynamic Rankings has developed a new kind of computer that is no longer satisfied with t ...