看到有知乎网友用python和css画了一个小猪佩奇,我不一样,我用JavaScript画社会人。

小猪佩奇身上纹,掌声送给社会人!

小猪佩奇原本是一部儿童动画片,但是在网友的各种调侃下,现在已经成为了社会人的标志,并且引发了众人的效仿。虽然在成年人看来是一种有趣时髦的调侃方式,但是对于还没有树立正确三观的小朋友们来说,的确会带来不良的影响。所以。。前段时间听说了抖音封杀小猪佩奇。

程序调试:我是用了html5新特性canvas,然后配合js画的。

从百度图片库随便找了张样图。。诺

由图片得知:小猪佩奇的主要由曲线构成,圆,椭圆,抛物线构成。我看到了有大佬用css的border-radius做,我小猪佩奇偏不!

有人说了,网上各种svg调试工具,可以在线画。。

那么简单,我小猪佩奇会答应吗??于是我准备用动画效果实现,一帧一帧的画。

技术实现:是观察上面我社会人的图可知,最适合画这个图的是贝塞尔曲线,因为佩奇轮廓曲线变化多端,于是就用了三次贝塞尔曲线,

context1.bezierCurveTo(control1x,control1y,control2x,control2y,endx,endy);通过两个控制点能更加精确的画出来。

如这个头部,由一个半圆,加两条贝塞尔曲线构成,以此类推,每个部位都由若干条贝塞尔曲线构成。每条曲线找好两个控制点比较不容易,我也是用了一个晚上才画出比较平滑的曲线。其实这也是类似于ps的绘制路径。

但是,这个只能画静态图像,我小猪佩奇说好的动态图像呢!我就重写了bezierCurveTo()方法,通过每个像素控制绘画的进度,再用requestAnimationFrame()函数回调绘制方法。

最后再填充颜色:

// 皮肤颜色rgb(237,187,214);

// 描边颜色rgb(235,157,199);

// 身体颜色rgb(223,57,81);

// 身体描边rgb(159,28,76);

// 脸腮颜色rgb(249,147,213);

//鼻子颜色rgb(171,110,168)

最后,在放上整体的效果:

github源码:

html 小猪佩奇代码,HTML5之canvas画小猪佩奇~相关推荐

  1. 用python画小猪佩奇代码_使用Canvas画小猪佩奇

    //身体 ct.beginPath(); ct.strokeStyle = "red"; ct.moveTo(195, 245); ct.quadraticCurveTo(215, ...

  2. 心电图特效代码 html5,用canvas画心电图的示例代码

    本文介绍了用canvas画心电图的示例代码,分享给大家,具体如下: 效果图: 思路: ?1.模拟点(如果你有真实的数据,那就是把数据幻化成canvas对应的坐标点) ? 模拟点时注意的点就是高起部分需 ...

  3. 用python画小猪佩奇代码_用Python画小猪佩奇

    猪年农历春节前,朋友圈被一则走心的广告刷屏了.很多伙伴直呼:看哭了.当爷爷电话里听到儿子说「不回来啊」的打击是很沉重的,这位父亲想念自己的儿子和孙子,总想把最好的给他们. 如果你的孩子问你要佩奇,你除 ...

  4. html 绘制正方形,HTML5之Canvas画正方形

    HTML5之Canvas画正方形 1.设计源码 HTML5之Canvas画正方形 function drawFour(id) { //获取canvas元素 var canvas = document. ...

  5. Html5基于Canvas画一个动态时钟

    文章目录 前言 一.前期准备 二.绘制刻度 1.流程 2.效果图 三.绘制文字 1.流程 2.效果图 四.绘制指针 1.取得当前时间 2.绘制秒针 3.绘制分针 4.绘制时针 5.效果图 五.绘制圆心 ...

  6. 用php绘制空心圆,html5使用canvas画空心圆与实心圆_html5教程技巧

    这里给大家分享的是一个学习canvas的时候做的画空心圆与实心圆的练习题,非常简单. 代码如下: var canvas=document.getElementById("canvas&quo ...

  7. 毛边效果 html,Html5中Canvas画线有毛边如何解决

    Html5 Canvas 所有的画线指令画出来的线条都有毛边(比如 lineTo, arcTo,strokeRect),这是因为在Canvas中整数坐标值对应的位置恰巧是屏幕象素点中间的夹缝,那么当按 ...

  8. html中空心圆圈怎么表示,html5使用canvas画空心圆与实心圆

    这里给大家分享的是一个学习canvas的时候做的画空心圆与实心圆的练习题,非常简单. 复制代码代码如下: var canvas=document.getElementById("canvas ...

  9. 电脑html黑色实心圆点,html5使用canvas画空心圆与实心圆

    这里给大家分享的是一个学习canvas的时候做的画空心圆与实心圆的练习题,非常简单. 复制代码代码如下: var canvas=document.getElementById("canvas ...

最新文章

  1. python【力扣LeetCode算法题库】15- 三数之和
  2. Google图解:Chrome 快是有原因的,科普浏览器架构!
  3. 对现代软件工程开发看法
  4. Spark笔记:RDD基本操作(下)
  5. windows7系统屏幕一直闪屏的解决教程
  6. 【Level 08】U08 Positive Attitude L5 Satisfy your need to know
  7. SQL Server超时诊断和调优
  8. java.lang.integer_java 中 关于java.lang.ArrayStoreException: java.lang.Integer异常,是什么原因?...
  9. 基于STM32设计的掌上游戏机(运行NES游戏模拟器)详细开发过程
  10. ROS下usb_cam的安装
  11. matlab计算股票的预期收益率,如何计算股票预期收益率
  12. PCB天线和陶瓷天线
  13. 盘点:2017年GitHub上30个优秀的机器学习项目
  14. 计算机网络三层交换机配置,综述三层交换机配置实例 附详细命令解释
  15. 屏幕保护程序Aerial Mac
  16. 甲骨文oracle兴学,甲骨文 Oracle Bone Inscription
  17. java程序设计清华大学出版社_清华大学出版社-图书详情-《Java程序设计基础》...
  18. 2021年中式烹调师(初级)考试题库及中式烹调师(初级)作业考试题库
  19. 文件操作(IO技术)
  20. Appium基础篇5-抓元素工具之UI Automator Viewer

热门文章

  1. 获取图片地址并下载图片
  2. 智慧井盖安装注意事项
  3. 将html文件设置成桌面壁纸(含有时间罗盘源码免费文件)
  4. 安徽省发票认证服务器网站,安徽省增值税发票综合服务平台网址及操作指南
  5. [ROS学习笔记1]在RViz中查看激光雷达数据
  6. list迭代器的模拟实现
  7. android 音频裁剪(1)—MP3裁剪
  8. Window操作系统基本知识
  9. 讲讲如何将图片格式转化成base64格式的
  10. 案例精选 | 冷饭变盛宴?一文谈尽边缘计算