canvas的简单绘制及设置
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<style type="text/css">
#MyCanvas {
border: 1px solid #f60;
}
</style>
<body>
<!--创建一个canvas标签并设置大小-->
<canvas id="MyCanvas" height="600" width="500"></canvas>
</body>
<script type="text/javascript">
//创建图像
var img = new Image();
img.src = 'img/0.png'; window.onload = function() {
var MyCanvas = document.getElementById('MyCanvas');
//getContext() 方法返回一个用于在画布上绘图的环境,2d为二维绘图
var ctx = MyCanvas.getContext('2d'); //开始绘制
ctx.beginPath();
//设置填充图像,定位点X Y,宽高
ctx.rect(50, 50, 100, 100);
//设置样式
ctx.fillStyle = "red";
ctx.fill(); //图像阴影:1.阴影颜色2.X Y 为阴影方向3.模糊程度
ctx.shadowColor = "#FF6600";
ctx.shadowOffsetX = 10;
ctx.shadowOffsetY = 10;
ctx.shadowBlur = 5; //设置边框
ctx.strokeStyle = 'lightblue';
ctx.stroke(); //开始一条路径,或重置当前路径
ctx.beginPath(); //图像位置移动
ctx.moveTo(500, 150); //绘制路径
ctx.lineTo(300, 100);
ctx.lineTo(300, 200);
ctx.lineTo(300, 200);
ctx.lineTo(300, 200);
ctx.fillStyle = 'lightcoral';
ctx.fill(); ctx.beginPath();
ctx.moveTo(200, 50);
ctx.lineTo(300, 100);
ctx.lineTo(300, 200);
ctx.lineTo(300, 200);
ctx.lineTo(300, 200);
ctx.fillStyle = 'lightcoral';
ctx.fill(); ctx.beginPath();
ctx.moveTo(400, 50);
ctx.lineTo(300, 100);
ctx.lineTo(300, 200);
ctx.lineTo(300, 200);
ctx.lineTo(300, 200);
ctx.fillStyle = 'lightgreen';
ctx.fill(); ctx.beginPath();
ctx.moveTo(100, 250);
ctx.lineTo(50, 300);
ctx.lineTo(150, 300);
//克隆一条边框
ctx.closePath(); //边框大小
ctx.lineWidth = 10;
ctx.stroke();
ctx.strokeStyle = 'lightskyblue'; ctx.beginPath(); //中心点X Y,半径r,起始弧度,结束弧度,true/false为半圆方向
//去掉'2*'为半圆
ctx.arc(250, 250, 50, 0, 2 * Math.PI);
ctx.fill();; //放置文字
ctx.beginPath();
ctx.font = '30px 微软雅黑';
ctx.fillText("Hello Canvsas", 50, 350); //文字描边
ctx.beginPath();
ctx.lineWidth = 3;
ctx.strokeText("Hello Canvsas", 50, 350); //放置图片
ctx.beginPath();
ctx.drawImage(img, 50, 400, 150, 150);
}
</script>
</html>
canvas的简单绘制及设置的更多相关文章
- Canvas 旋转风车绘制
写在前面: 亲爱的朋友们大家好,鄙人自学前端,第一次写博客,写的不好的地方,烦请同学们谅解,如果本文对你有一丁点帮助,还请劳驾您给我点个赞,您的认可将是我坚持下去的强大动力!谢谢! 在进行教学之前 ...
- html5 canvas 实现简单的画图
今天早上看了一下 canvas 前端画图,数据可视化, 百度的 echart.js , d3等 js 库都已经提供了强大的绘制各种图形的 API. 下面记录一下 有关canvas 绘图的基本知识: ...
- canvas教程(二) 绘制直线
经过 canvas 教程(一) 简介 我们知道了 canvas 的一些基本情况 而本次是给大家带来直线的绘制 canvas 中,基本图形有两种,一种是直线,还有一种是曲线 但是无论是直线还是曲线,我们 ...
- Android中使用Canvas和Paint绘制一个安卓机器人
场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到ac ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
- Html5 Canvas一个简单的画笔例子
相比了下Qt quick的canvas和HTML5的canvas,发现HTML5 Canvas在同样绘制绘制操作下性能比Qt的canvas强很多,附上一个HTML5 canvas画笔一例子 var D ...
- -_-#【Canvas】导出在<canvas>元素上绘制的图像
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 简单的Slony-I设置实例 II
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL集群方案相关索引页 回到顶级页面:PostgreSQL索引页 接前面例子, 简单的Slony-I设置实例 这次我 ...
- Canvas 中drawImage 绘制不出图片
在使用Canvas的drawImage绘制图片时,却发现绘制不出图片,原因是图片是异步加载,图片加载完再绘制. //html <img src="1.png" /> & ...
随机推荐
- Jmeter系列(56)- 详解 Weighted Switch Controller 权重控制器
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 简单介绍 它能分配其子项目(Child ...
- 基于python tkinter的点名小程序
import datetimeimport jsonimport osimport randomimport tkinter as tkimport openpyxl # 花名册文件名excel_fi ...
- qemu-img check命令详解
1.问题现象 生产环境上,对计算节点文件系统修复,导致某些虚机的镜像文件数据丢失,出现异常,最终造成虚机无法启动,查看对应计算节点的nova日志,报如下错误 nova-compute: File &q ...
- 计算机网络-应用层(3)Email应用
因特网电子邮箱系统主要由用户代理(user agent) .邮件服务器(mail server) 和简单邮件传输协议(SMTP)组成 邮件服务器(Mail Server) 邮箱:存储发给该用户的E ...
- 如何下载gitbub中的单个文件
1.进入Github文件夹,打开对应文件: 2.右键单击Raw,然后目标另存为即可.
- DAO层,Service层,Controller层、View层、entity层
1.DAO(mapper)层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就 ...
- Excel—LEFT、RIGHT、MID函数提取不同位置的字段
概述 函数方法不只是适用下述场景,主要目的是在不同业务场景中个人解决问题的思维方法: 下图中数据都为测试数据,不具备真实性! 场景一 数据库Task表中存储的实际任务id太长,但PC/移动端看到展示的 ...
- 4gl游标cursor
游標有多種寫法,一種是報表里常見的 這種寫法呢,先定義一個接受sql語句的變量l_sql,而接受到的語句實際上只是一連串的字符串,還包含了4gl裡面的一些變量.寫好的l_sql裡面之所以有多個分段的雙 ...
- 4GL之Non-SCROLLING CURSOR
在4gl中CURSOR可以说是每一个程序中都会有的,而CURSOR又分为三种SCROLLING CURSOR.Non-SCROLLING CURSOR.LOCKING CURSOR. Non-SCRO ...
- Linux离线安装mysql 5.6详细步骤
一.安装MySQL 1.下载安装包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 2.卸载系统自带的Mariadb rpm -qa|grep mariadb / ...