HTML5 canvas如何绘制动态径向渐变


当前第2页 返回上一页

使用Web浏览器显示上述HTML文件。将显示如下所示的效果。

2345截图20181203142011.png

如果在蓝色画布中移动鼠标,渐变将会随着变化。

HTML5 canvas


HTML5 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

<!DOCTYPE html>

<html>

<head>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <title></title>

  <meta charset="utf-8" />

  <style>

    body {

      background: #C0C0C0;

    

</style>

  <script>

    function PageLoad() {

      var CanvasWidth = 1200;     

      var CanvasHeight = 480;     

      var canvas = document.getElementsByTagName('canvas')[0],

          ctx = null,

          grad = null,

          color = 255;     

      if (canvas.getContext('2d')) {

        ctx = canvas.getContext('2d');

        ctx.clearRect(0, 0, CanvasWidth, CanvasHeight);

 

        grad = ctx.createRadialGradient(0, 0, 64, 128, 64, 320);

        grad.addColorStop(0, '#b43700');

        grad.addColorStop(1, '#ffe063');

        ctx.fillStyle = grad;

 

        ctx.fillRect(0, 0, CanvasWidth, CanvasHeight);

 

        canvas.addEventListener('mousemove', function (evt) {

                var width = window.innerWidth,

          height = window.innerHeight,

          x = event.clientX,

          y = event.clientY,

 

          grad = ctx.createRadialGradient(x, y, 64, x+128, y+64, 320);

          grad.addColorStop(0, '#b43700');

          grad.addColorStop(1, '#ffe063');

 

          ctx.fillStyle = grad;

          ctx.fillRect(0, 0, CanvasWidth, CanvasHeight);

        }, false);

      }

    

</script>

</head>

<body onload="PageLoad();">

  <canvas width="1200" height="480"></canvas>

</body>

</html>

说明

具体思路和前面的例子一样。只是将createRadialGradir的渐变的圆心从鼠标指针的坐标向x方向+ 128,y方向+ 64,错开渐变和结束的圆的中心。

运行结果

使用Web浏览器显示上述HTML文件。将显示如下所示的效果。

微信截图_20181203143329.png

如果在画布中移动鼠标,渐变将随之变化。由于渐变的开始位置和结束位置的中心点不同,因此可以确认渐变不对称。

微信截图_20181203143819.png

以上就是HTML5 canvas如何绘制动态径向渐变的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

h5混合开发app如何升级

h5里图片中有缝隙应该如何解决

HTML5中使用mathml数学公式

h5如何使用约束验证api

HTML5中messageevent以及sse的规范

h5中的弹窗无法用webview弹出怎么解决

h5+c3+js实现楼层跳跃特效

ichart-组件定制图形库图表/报表开发教程

HTML5实现下雪效果的实例代码分享

HTML5 datalist标签的用法是什么?这里有datalist标签的用法实例

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




打赏

取消

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

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

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

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

评论

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