如何使用canvas画一个微笑的表情(代码示例)


本文摘自PHP中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于如何使用canvas画一个微笑的表情(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

实习期间让我用canvas画一个表情,比较简单,话不多说直接上代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

<body>

<div id="canvas-warp">

    <canvas id="canvas" style="display: block; margin: 200px auto;">

        你的浏览器居然不支持Canvas!

    </canvas>

</div>

<script>

    window.onload = function () {

        var canvas = document.getElementById("canvas");

        canvas.width = 400;

        canvas.height = 400;

        //获取上下文

        var context = canvas.getContext("2d");

        //用于画有填充色圆的函数  参数分别为圆心坐标 ,半径,起始与终止位置,线颜色,填充颜色

        function drawCircle(x2, y2, r2, a2, b2, lineColor, FillColor) {

            context.beginPath();

            context.arc(x2, y2, r2, a2, b2 * Math.PI);

            context.strokeStyle = lineColor;

            context.fillStyle = FillColor;

            context.fill(); //确认填充

            context.stroke();

        };

        //用于画圆弧函数 默认线条为黑色 无填充 参数分别为:圆心x坐标,圆心y坐标,半径,开始位置,终止位置

        function drawsArc(x, y, r, l1, l2) {

            context.beginPath();

            context.arc(x, y, r, l1 * Math.PI, l2 * Math.PI);

            context.strokeStyle = "black";

            context.stroke();

        };

        //用于画眼睛的函数

        function darwEyes(x1, y1, a1, b1) { //参数分别为椭圆圆心位置 长轴  短轴

            context.strokeStyle = "#754924"

            ParamEllipse(context, x1, y1, a1, b1); //椭圆

            function ParamEllipse(context, x, y, a, b) {

                //使每次循环所绘制的路径(弧线)接近1像素

                var step = (a > b) ? 1 / a : 1 / b;

                context.beginPath();

                context.moveTo(x + a, y); //从椭圆的左端点开始绘制

                for (var i = 0; i < 2 * Math.PI; i += step) {

                    //参数为i,表示度数(弧度)

                    context.lineTo(x + a * Math.cos(i), y + b * Math.sin(i));

                }

                context.closePath();

                context.fillStyle = "#754924";

                context.fill();

                context.stroke();

            };

        };

        //脸

        drawCircle(200, 200, 200, 0, 2, "#EEE685", "#FCF200");

        //左眼

        context.strokeStyle = "#754924"

        darwEyes(116, 130, 18, 25);

        drawCircle(110, 127, 12, 0, 2, "#754924", "#F5F5F5");

        //右眼

        darwEyes(296, 130, 18, 25);

        drawCircle(290, 127, 12, 0, 2, "#754924", "#F5F5F5");

        //左眉毛

        drawsArc(100, 100, 50, 1.3, 1.7);

        //右眉毛

        drawsArc(300, 100, 50, 1.3, 1.7);

        //嘴巴

        drawsArc(200, 120, 180, 0.3, 0.7);

    }

</script>

<body>

效果图

2028423768-5c8719de179f3_articlex.png

以上就是如何使用canvas画一个微笑的表情(代码示例)的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

javascript专题之八:数组扁平化

javascript怎么删除元素属性

vue实现员工信息录入功能的方法

href怎么调用javascript

怎么使用javascript将对象转为字符串

javascript主要作用是什么

js怎么替换字符串?

javascript和sql有什么区别

augularjs基础入门与实践

javascript如何转为json字符串

更多相关阅读请进入《前端》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...