python七巧板三角形_canvas基础入门(二)绘制线条、三角形、七巧板
复杂的内容都是有简单的线条结合而成的,想要绘制出复杂好看的内容先从画直线开始
canvas绘制直线先认识几个函数
beginPath();开始一条路径,或重置当前的路径
moveTo(x,y);用于规定直线的起点坐标
lineTo(x,y);用于规定直线的终点坐标
closePath();方法创建从当前点到开始点的路径
stroke();方法会实际地绘制出通过 moveTo() 和 lineTo() 方法定义的路径。默认颜色是黑色
利用上面的函数就可以简单的画出直线了
代码
当前浏览器不支持canvas,请更换浏览器再试
canvas.width= 1024;//设置canvas宽高canvas.height= 768;var context = canvas.getContext("2d");
context.beginPath();
context.moveTo(100, 100);
context.lineTo(700, 700);
context.closePath();
context.stroke();
}
接下来个直线添加点样式:
lineWidth;属性设置或返回当前线条的宽度,以像素计
strokeStyle;属性设置或返回用于笔触的颜色、渐变或模式
fillStyle;属性设置或返回用于填充绘画的颜色、渐变或模式
fill();方法填充当前的图像(路径)。默认颜色是黑色
JavaScript代码如下:
当前浏览器不支持canvas,请更换浏览器再试
canvas.width= 1024;//设置canvas宽高canvas.height= 768;var context = canvas.getContext("2d");
context.beginPath();
context.moveTo(100, 100);
context.lineTo(700, 700);
context.closePath();
context.lineWidth= 5;
context.strokeStyle= "red";
context.stroke();
}
会绘制直线后我们接着来绘制一些图像,要绘制图像也是使用lineTo(x,y),绘制三角形,代码如下
当前浏览器不支持canvas,请更换浏览器再试
canvas.width= 1024;//设置canvas宽高canvas.height= 768;var context = canvas.getContext("2d");
context.beginPath();
context.moveTo(100, 100);
context.lineTo(700, 700);
context.lineTo(100, 700);
context.lineTo(100, 100);
context.closePath();
context.lineWidth= 5;
context.strokeStyle= "red";
context.stroke();
}
这个时候在是实现一些复杂的图像,七巧板:
canvas绘制七巧板
当前浏览器不支持Canvas,请更换浏览器再试
var tangram =[
{p: [{x:0,y: 0}, {x: 800,y: 0}, {x: 400,y: 400}],color: "#caff76"},
{p: [{x:0,y: 0}, {x: 400,y: 400}, {x: 0,y: 800}],color: "#67becf"},
{p: [{x:800,y: 0}, {x: 800,y: 400}, {x: 600,y: 600}, {x: 600,y: 200}],color: "#ef3d61"},
{p: [{x:600,y: 200}, {x: 600,y: 600}, {x: 400,y: 400}],color: "#f9f51a"},
{p: [{x:400,y: 400}, {x: 600,y: 600}, {x: 400,y: 800}, {x: 200,y: 600}],color: "#a594c0"},
{p: [{x:200,y: 600}, {x: 400,y: 800}, {x: 0,y: 800}],color: "#fa8ecc"},
{p: [{x:800,y: 400}, {x: 800,y: 800}, {x: 400,y: 800}],color: "#f6ca29"},
];
window.οnlοad= function() {var canvas = document.getElementById("canvas");
canvas.width= 800;
canvas.height= 800;var context = canvas.getContext("2d");for(var i = 0; i < tangram.length; i++) {
draw(tangram[i], context)
}
}functiondraw(plece, cxt) {
cxt.beginPath();
cxt.moveTo(plece.p[0].x, plece.p[0].y);for(var i = 1; i < plece.p.length; i++) {
cxt.lineTo(plece.p[i].x, plece.p[i].y);
}
cxt.closePath();
cxt.fillStyle=plece.color;
cxt.fill();
cxt.strokeStyle= "black";
cxt.lineWidth= 3;
cxt.stroke();
}
python七巧板三角形_canvas基础入门(二)绘制线条、三角形、七巧板相关推荐
- Python pyglet 自制3D引擎入门(二) -- 绘制立体心形,动画和相机控制
Python作为目前较广泛的编程语言, 用于制作3D游戏可谓得心应手.本文讲解使用Python pyglet库自制简易3D引擎的方法技巧. 上篇:Python pyglet 自制3D引擎入门(一) – ...
- Python pyglet 自制3D引擎入门(一) -- 绘制几何体、创建3D场景
Python作为目前较广泛的编程语言, 用于制作3D游戏可谓得心应手.本文讲解应用Python pyglet库绘制3D场景的入门知识. 下篇:Python pyglet 自制3D引擎入门(二) – 绘 ...
- 有关我零基础入门Opengl并想开发七巧板小程序交作业这档子事
有关我零基础入门Opengl并想开发七巧板小程序交作业这档子事 隔壁笔记链接:入手OpenGL 隔壁技术实现链接:部分思路实现 背景故事 c++课程老师给布置作业,"小作业",使用 ...
- 【OpenGL ES】入门及绘制一个三角形
本文首发于个人博客:Lam's Blog - [OpenGL ES]入门及绘制一个三角形,文章由MarkDown语法编写,可能不同平台渲染效果不一,如果有存在排版错误图片无法显示等问题,烦请移至个人博 ...
- 学python需要什么基础知识-学习Python需要知道哪些基础入门知识?
众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python就业前景广阔.很多 ...
- Python数据分析——NumPy数值计算基础(二)
Python数据分析--NumPy数值计算基础(二) 思维导图: 数据的csv文件存取 csv(Comma-Separated Value,逗号分隔值)文件:是一种常见的文件格式,用来存储批量数据. ...
- 美女讲师教你学Python第一季:基础入门-秦红华-专题视频课程
美女讲师教你学Python第一季:基础入门-448人已学习 课程介绍 本课程以最新的Python3为基础,面向Python编程语言的初学者: 精选教材,内容反复锤炼,精炼详实,既有实用 ...
- 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)
小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...
- 0基础学python难吗-零基础入门学习Python技术难不难?
原标题:零基础入门学习Python技术难不难? 近几年对python人才爆发式需求,导致很多人转行进入python开发行业,现如今Python这门语言的就业前景会非常好.相对于其他来说,它语法简单易读 ...
最新文章
- [BZOJ2527]Meteors
- java增加 删除 修改表格_Java实现单链表的创建、添加、修改、删除
- 如何创建修改分区表和如何查看分区表
- [Qt教程] 第33篇 网络(三)FTP(一)
- jQuery plugin 开发的一个例子
- unity 编辑器扩展 扩展摄像机的属性查看器
- ie的window.open 未指明的错误_错误还是违法——离开的原因之一
- sklearn中的train_test_split函数
- “KVM is not available”的相应解决方案
- linux管理员基础知识
- C语言,函数调用使用方法
- android陀螺仪 cemu,CEMU安卓手柄陀螺仪教程
- JAVA深拷贝与浅拷贝(呕心沥血之作)
- 浅谈测试小白到测试大牛的成长历程(分四个境界)
- python ca模块_[转]常用的python模块及安装方法
- 《自控力》读书笔记及实践
- java 判断两个经纬度差异_计算两个经纬度点的实际距离
- 60-硅谷课堂6-硅谷课堂-公众号消息和微信授权-- 笔记
- 网络安全基础:公钥密码体制
- OA项目之部门管理的功能实现