使用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>

原文地址:https://www.cnblogs.com/whatarey/p/8997979.html

时间: 2024-10-07 16:29:10

使用canvas 代码画小猪佩奇的相关文章

如何用Python代码画小猪佩奇

Python语言的功能太强大了,可以制作出很多想想的作品来,不信吗?用Python代码还可以画出小猪佩奇,代码其实很简单的,下面,就将几个关键步骤代码分享出来. 怎么用Python代码画小猪佩奇? 首先需要初始化画笔的一些属性,包括颜色.画笔的画画速度等. def init_pen(): ''' 初始化画笔的一些属性 ''' t.pensize(4) # 设置画笔的大小 t.colormode(255) # 设置GBK颜色范围为0-255 t.color((255, 155, 192), "pi

*【Python】【demo实验31】【练习实例】【使用turtle画小猪佩奇】

如下图小猪佩奇: 要求使用turtle画小猪佩奇: 源码: # encoding=utf-8 # -*- coding: UTF-8 -*- # 使用turtle画小猪佩奇 from turtle import* def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东.90-北.180-西.270-南) begin_fill()#准备开始填充图形 a

python画小猪佩奇

试验环境python3,不知python2能不能运行. 代码如下: # -*- coding:utf-8 -*-import turtle as tt.pensize(4) # 设置画笔的大小t.colormode(255) # 设置GBK颜色范围为0-255t.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink)t.setup(840,500) # 设置主窗口的大小为840*500t.speed(10) # 设置画笔速度为10#鼻子t.pu(

用python画小猪佩奇(非原创)

略作改动: # coding:utf-8 import turtle as t t.screensize(400, 300, "blue") t.pensize(4) # 设置画笔的大小 t.colormode(255) # 设置GBK颜色范围为0-255 t.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink) t.setup(840,500) # 设置主窗口的大小为840*500 t.speed(10) # 设置画笔速度

小猪佩奇社会人专用服务器,有意思的python小程序,附python代码

最近社会人小猪佩奇挺热门的,大家都在说社会人,那么我们作为IT人,怎么让我们的服务器也蹭一下社会人的热点的?下面来给大家说说. 先来个效果图: 小猪佩奇社会人专用服务器 哈哈,这样是不是挺有意思的?工作已经很无聊了,如果再不找点乐趣,那还怎么干活? 说说怎么实现的吧,其实这个是通过python代码实现的,而且代码仅仅只有30行. 需要说明的是,这个python代码不仅仅能转换小猪佩奇社会人,而且还能转换各种图片,比如佛祖啊什么的,只要你有色彩对比度差不多的图片,都可以进行转换. 如下图,我换了个

用python画小猪票佩奇

加群923414804免费获取数十套PDF资料,助力python学习 turtle是python中绘制图形的库,还是挺方便的,需要的是耐心. 附上代码,网上也有很多. #使用turtle画小猪佩琪 import turtle as t t.pensize(4) # 设置画笔的大小 t.colormode(255) # 设置GBK颜色范围为0-255 t.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink) t.setup(840,500) #

div+css画一个小猪佩奇

用DIV+CSS画一个小猪佩奇,挺可爱的,嘻嘻. HTML部分(全是DIV) <!-- 小猪佩奇整体容器 --> <div class="pig_container"> <!-- 尾巴 --> <div class="tail_left"></div> <div class="tail_right"></div> <div class="tail_

运用python绘制小猪佩奇

用python绘制小猪佩奇 1.打开idle 2.点击File-New Files 3.输入以下代码 1. from turtle import * 2. 3. def nose(x,y):#鼻子 4. penup()#提起笔 5. goto(x,y)#定位 6. pendown()#落笔,开始画 7. setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东.90-北.180-西.270-南) 8. begin_fill()#准备开始填充图形 9. a=0.4 10.

[转]html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法

前面的文章我已经讲了3种在canvas中画曲线的方法:arc,arcTo以及quadraticCurveTo.他们都有一个共同点,就是他们画的曲线都只能偏向一边,今天讲的bezierCurveTo与他们最大的不同点就是有两个控制点,即可以画出S形的曲线了. bezierCurveTo,也就是所谓的贝赛尔曲线了,如果你学过某些画图工具,就能马上理解. bezierCurveTo的语法如下: ctx.bezierCurveTo(x1,y1,x2,y2,x,y);他的参数我照例解释一下,其中的(x1,