<!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的简单绘制及设置的更多相关文章

  1. Canvas 旋转风车绘制

    写在前面:   亲爱的朋友们大家好,鄙人自学前端,第一次写博客,写的不好的地方,烦请同学们谅解,如果本文对你有一丁点帮助,还请劳驾您给我点个赞,您的认可将是我坚持下去的强大动力!谢谢! 在进行教学之前 ...

  2. html5 canvas 实现简单的画图

    今天早上看了一下 canvas 前端画图,数据可视化, 百度的 echart.js  , d3等 js 库都已经提供了强大的绘制各种图形的 API. 下面记录一下 有关canvas 绘图的基本知识: ...

  3. canvas教程(二) 绘制直线

    经过 canvas 教程(一) 简介 我们知道了 canvas 的一些基本情况 而本次是给大家带来直线的绘制 canvas 中,基本图形有两种,一种是直线,还有一种是曲线 但是无论是直线还是曲线,我们 ...

  4. Android中使用Canvas和Paint绘制一个安卓机器人

    场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到ac ...

  5. iOS开发UI篇—iOS开发中三种简单的动画设置

    iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...

  6. Html5 Canvas一个简单的画笔例子

    相比了下Qt quick的canvas和HTML5的canvas,发现HTML5 Canvas在同样绘制绘制操作下性能比Qt的canvas强很多,附上一个HTML5 canvas画笔一例子 var D ...

  7. -_-#【Canvas】导出在<canvas>元素上绘制的图像

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 简单的Slony-I设置实例 II

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL集群方案相关索引页     回到顶级页面:PostgreSQL索引页 接前面例子, 简单的Slony-I设置实例 这次我 ...

  9. Canvas 中drawImage 绘制不出图片

    在使用Canvas的drawImage绘制图片时,却发现绘制不出图片,原因是图片是异步加载,图片加载完再绘制. //html <img src="1.png" /> & ...

随机推荐

  1. java容器源码分析及常见面试题笔记

      概览 容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表. List Arraylist: Object数组 ...

  2. 第3篇scrum冲刺(5.23)

    一.站立会议 1.照片 2.工作安排 成员 昨天已完成的工作 今天的工作安排 困难 陈芝敏  调用小程序接口获取用户微信登录权限,初始化  完成云开发配置,初始化数据库: 进度较慢,后面可能会有点困难 ...

  3. Combining STDP and Reward-Modulated STDP in Deep Convolutional Spiking Neural Networks for Digit Recognition

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract 灵长类视觉系统激发了深度人工神经网络的发展,使计算机视觉领域发生了革命性的变化.然而,这些网络的能量效率比它们的生物学对 ...

  4. OI常用数学定理&方法总结

    组合数计算($O(n)$) https://www.cnblogs.com/linzhuohang/p/11548813.html Lucas定理 如果要计算很大的组合数,但模数较小,考虑这个方法 对 ...

  5. MPI基础知识

    一.MPI 知识点 1.MPI是什么 MPI是一个跨平台的通信协议,用于编写并行计算机,支持点对点和广播.MPI是一个信息传递应用程序接口,包括协议和语义说明,他们指明其如何在各种实现中发挥其特性.M ...

  6. python3+pyqt5+opencv3简单使用

    python3+pyqt5+opencv3简单使用(转载) 关于python3下搭建pyqt5(pycharm)参考这条链接. 对于pyqt的使用个人比较建议ui设计与逻辑功能分开开发. 下面介绍下简 ...

  7. [PyTorch 学习笔记] 4.1 权值初始化

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/grad_vanish_explod.py 在搭建好网络 ...

  8. Java 获取一段时间内的每一天

    有时候我们会遇到一些业务场景,需要去获取一段时间内的每一天日期 public static List<Date> findDates(Date dBegin, Date dEnd) { L ...

  9. 寻找链表的倒数第k个节点

    寻找链表的倒数第k个节点 题目:已知一个带有表头结点的单链表,节点结构为(data,next),假设该链表只给出了头指针list.在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个 ...

  10. 聊聊redis单线程为什么能做到高性能和io多路复用到底是个什么鬼

    1:io多路复用epoll  io多路复用简单来说就是一个线程处理多个网络请求 我们知道epoll in 的事件触发是可读了,这个比较好理解,比如一个连接过来,或者一个数据发送过来了,那么in事件就触 ...