使用canvas 代码画小猪佩奇
最近不是小猪佩奇很火嘛!!! 前几天 在知乎 看见了别人大佬用python写的 小猪佩奇, 顿时想学 ,可是 自己 没学过python(自己就会爬爬图片,,,,几个月没用 又丢了)
然后 就想画一个 百度了一下 javascript 基本没用 只能自己写了 然后瞄准了canvas 画布
于是自己研究了一下 写出来了,(假如是大神的话 就知道 我写的不怎么好 代码用的太多了 感觉很多代码都没用 可是 删了又会出错, 不知道 怎么优化 这也是在学校时候无聊弄的!)
下面贴图贴代码!!!
<canvas id="myCanvas" width="400" height="500" style="border: 1px solid #808080; margin-left:400px;" onmousemove="cnvs_getCoordinates(event);" onmouseout="cnvs_clearCoordinates();">看不见我!!!</canvas> <script> FunPig();
//小猪佩奇
function FunPig() { var ct = document.getElementById('myCanvas').getContext('2d'); ct.beginPath() //开始
ct.lineWidth = "3";
ct.strokeStyle = "pink";
//起点
ct.moveTo(75, 15); //控制范围 结束
//context.quadraticCurveTo(cpx, cpy, x, y);
ct.quadraticCurveTo(220, 26, 220, 160); //第一步 ct.moveTo(219, 141);
ct.quadraticCurveTo(240, 300, 70, 250); //第三步
// ct.stroke()
ct.moveTo(76, 253);
ct.quadraticCurveTo(16, 220, 74, 111); ct.moveTo(73, 112);
ct.quadraticCurveTo(60, 112, 31, 83);
ct.moveTo(31, 83);
ct.quadraticCurveTo(23, 26, 75, 15);
ct.moveTo(75, 15);
ct.quadraticCurveTo(108, 32, 99, 61);
ct.moveTo(99, 61);
ct.quadraticCurveTo(66, 101, 31, 81);
ct.stroke();
// 鼻子的两个孔
ct.beginPath();
ct.arc(48, 48, 6, 0 * Math.PI, 2.5 * Math.PI);
ct.stroke();
ct.beginPath();
ct.arc(77, 48, 6, 0 * Math.PI, 2.5 * Math.PI);
ct.stroke();
//耳朵 //左耳朵
ct.beginPath();
ct.moveTo(149, 31);
ct.quadraticCurveTo(155, 0, 189, 6);
ct.moveTo(189, 6);
ct.quadraticCurveTo(188, 30, 170, 44);
//右耳朵
ct.moveTo(188, 59);
ct.quadraticCurveTo(198, 24, 222, 32);
ct.moveTo(222, 32);
ct.quadraticCurveTo(255, 54, 199, 75);
ct.stroke(); //嘴巴
ct.beginPath();
ct.arc(93, 178, 30, 0 * Math.PI, 2.5 * Math.PI);
ct.stroke();
//眼睛
ct.beginPath();
ct.strokeStyle = " #BDBDBD"; ct.arc(141, 67, 14, 0 * Math.PI, 2.5 * Math.PI); ct.stroke();
ct.beginPath();
ct.strokeStyle = "#000000"; ct.arc(136, 64, 6, 0 * Math.PI, 2.5 * Math.PI);
ct.stroke(); ct.beginPath();
ct.strokeStyle = " #BDBDBD"; ct.arc(170, 88, 14, 0 * Math.PI, 2.5 * Math.PI);
ct.stroke();
ct.beginPath();
ct.strokeStyle = "#000000";
ct.fillStyle = "#FF0000";
ct.arc(165, 87, 6, 0 * Math.PI, 2.5 * Math.PI);
ct.stroke(); // 粉红嘴腮
ct.beginPath(); ct.strokeStyle = " #CD8C95";
ct.arc(178, 147, 20, 0 * Math.PI, 2.5 * Math.PI);
ct.stroke(); //身体
ct.beginPath();
ct.strokeStyle = "red";
ct.moveTo(195, 245);
ct.quadraticCurveTo(215, 215, 244, 410);
ct.moveTo(244, 410);
ct.quadraticCurveTo(244, 410, 38, 410);
ct.moveTo(38, 410);
ct.quadraticCurveTo(11, 410, 76, 251);
ct.stroke(); //两只手 ct.beginPath();
ct.strokeStyle = "pink";
ct.moveTo(58, 294);
ct.quadraticCurveTo(50, 288, 12, 238);
ct.moveTo(56, 300);
ct.quadraticCurveTo(56, 300, 16, 260);
ct.lineTo(3, 269);
ct.lineTo(11, 250);
ct.lineTo(3, 228);
ct.lineTo(15, 241);
ct.stroke();
//右手
ct.beginPath();
ct.moveTo(223, 292);
ct.quadraticCurveTo(266, 288, 287, 271);
ct.moveTo(287, 271);
ct.quadraticCurveTo(236, 233, 279, 245);
ct.moveTo(279, 245);
ct.quadraticCurveTo(255, 200, 295, 247);
ct.moveTo(295, 247);
ct.quadraticCurveTo(288, 200, 306, 226);
ct.moveTo(306, 226);
ct.quadraticCurveTo(311, 250, 308, 248);
ct.moveTo(308, 248);
ct.quadraticCurveTo(344, 200, 334, 245);
ct.moveTo(334, 245);
ct.quadraticCurveTo(311, 280, 300, 280);
ct.moveTo(300, 280);
ct.quadraticCurveTo(311, 280, 224, 303);
ct.stroke();
ct.beginPath();
ct.moveTo(94, 409);
ct.quadraticCurveTo(94, 409, 96, 451);
ct.moveTo(96, 451);
ct.quadraticCurveTo(53, 429, 56, 461);
ct.moveTo(56, 461);
ct.quadraticCurveTo(56, 461, 107, 464);
ct.lineTo(106, 409);
ct.moveTo(183, 411);
ct.lineTo(182, 447);
ct.quadraticCurveTo(124, 434, 136, 464);
ct.lineTo(196, 463);
ct.lineTo(195, 409);
ct.stroke();
ct.beginPath();
ct.lineWidth = "7";
ct.strokeStyle = "pink";
ct.lineCap = "round";
ct.moveTo(238,360);
ct.quadraticCurveTo(266, 380, 267, 360);
ct.quadraticCurveTo(254, 330, 250, 380);
ct.quadraticCurveTo(254, 420, 290, 369);
ct.stroke(); } </script>
因为不会 所以记录的东西特别多...
使用canvas 代码画小猪佩奇的更多相关文章
- 用CSS画小猪佩奇,你就是下一个社会人! js将“I am a coder”反转成 “coder a am I”,不许用split,join,subString,reverse;求解方法三
用CSS画小猪佩奇,你就是下一个社会人! 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:江志耿 | 腾讯TEG网络工程师 我是佩奇,哼,这是我的弟弟乔治,呱呱,这是我的妈妈,嚯 ...
- *【Python】【demo实验31】【练习实例】【使用turtle画小猪佩奇】
如下图小猪佩奇: 要求使用turtle画小猪佩奇: 源码: # encoding=utf-8 # -*- coding: UTF-8 -*- # 使用turtle画小猪佩奇 from turtle i ...
- 用CSS画小猪佩奇,你就是下一个社会人!
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:江志耿 | 腾讯TEG网络工程师 我是佩奇,哼,这是我的弟弟乔治,呱呱,这是我的妈妈,嚯,这是我的爸爸,嚯~ 背景 小猪佩奇已经火了好 ...
- python 画小猪佩奇
转自:python画个小猪佩奇 # -*- coding: utf-8 -*- """ Created on Mon May 20 11:36:03 2019 @auth ...
- 用python画小猪佩奇(非原创)
略作改动: # coding:utf-8 import turtle as t t.screensize(400, 300, "blue") t.pensize(4) # 设置画笔 ...
- python 用turtle 画小猪佩奇
from turtle import * def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 setheading(-30)#将乌龟 ...
- 利用python画小猪佩奇
import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.color((255,155,192),"pink&quo ...
- 如何优雅的使用C语言绘制一只小猪佩奇
今天我们来用C语言画一只小猪佩奇---社会.社会....在画小猪佩奇之前,我们先使用带符号的距离长 (signed distance field,SDF) 来画一个圆形. 使用这个方法表示形状,但是这 ...
- turtle 20秒画完小猪佩奇“社会人”
转载:https://blog.csdn.net/csdnsevenn/article/details/80650456 图片源自网络 作者 丁彦军 如需转载,请联系原作者授权. 今年社交平台上最火的 ...
随机推荐
- CockroachDB学习笔记——[译]如何优化Go语言中的垃圾回收
原文链接:https://www.cockroachlabs.com/blog/how-to-optimize-garbage-collection-in-go/ 原作者:Jessica Edward ...
- 利用matlab自带函数快速提取二值图像的图像边缘 bwperim函数
clear all;close all;clc; I = imread('rice.png'); I = im2bw(I); J = bwperim(I); % 提取二值图像图像边缘 figure ...
- Intel GPA + 夜神模拟器
环境:Win10,Intel GPA 2019R2,Nox(夜神模拟器)6.2.8.3 记录下注意的事项 1. 夜神模拟器下载地址建议 : https://www.bignox.com/ 2. 先运行 ...
- 【ARM-Linux开发】【Qt开发】Qt Creator自定义编译运行步骤
原文:http://www.linuxidc.com/Linux/2015-04/115763.htm 一直用Qt Creator开发.无它,只是因为linux下C++ IDE选择不多.同时因为我抛弃 ...
- Nginx 开启支持谷歌Brotli压缩算法
参考链接:https://cloud.tencent.com/developer/article/1501009
- idea配置git的步骤
第一次git到GitHub过程 打开到项目 这样就不用再用git Bash敲命令了
- jenkins持续集成(windows slave+svn+.net)
一.Windows slave配置 1.系统管理->节点管理->新建节点 2.节点列表中点击新增的节点名称按提示下载agent.jar, 在windows slave机器执行(copy页面 ...
- ecshop二次开发笔记
1. robots.txt 爬虫协议 网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取. 2. 入口文件 index.php 3. 目录结构分析 admin 后台 api 接口 ...
- 利用Python进行数据分析_Numpy_基础_1
ndarray:多维数组 ndarray 每个数组元素必须是相同类型,每个数组都有shape和dtype对象. shape 表示数组大小 dtype 表示数组数据类型 array 如何创建一个数组? ...
- python — 装饰器、迭代器
目录 1 装饰器 2 迭代器 3 可迭代对象 1 装饰器 1.1目的.应用场景: 目的: 在不改变原函数内部代码的基础上,在函数执行前后自定义功能. 应用场景: 想要为函数扩展功能时,可以选择用装饰器 ...