使用javascript和HTML5 Canvas画的四渐变色播放按钮效果

这篇文章主要介绍了使用javascripthtml5 canvas画的四渐变色播放按钮效果,需要的朋友可以参考下

是html5出现的新标签,像所有的dom对象一样它有自己本身的属性、方法和事件,其中就有绘图的方法,js能够调用它来进行绘图,本文使用canvas标签和Javascript配合画出了一个四色渐变的播放按钮效果,效果图:
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
实现代码:

nbsp;HTML>        画按钮      您的浏览器不支持Canvas,请升级浏览器!    var canvas = document.getElementById('myCanvas');/*获取定义的画布*/  var ctx = canvas.getContext('2d');/*利用2维环境中进行绘画*/  drawPlayButton(ctx,200,200);  drawPlayButton(ctx,400,200);  drawPlayButton(ctx,300,200);  function drawPlayButton(_context,x,y){  var nRadius=30;//半径  _context.save();  _context.translate(x,y);  //构造线变  var yellowGrad=_context.createLinearGradient(30,0,0,30);  yellowGrad.addColorStop(0, '#fccb02');   yellowGrad.addColorStop(0.5, '#fbf14d');   yellowGrad.addColorStop(1, '#ffcb02');  var blueGrad=_context.createLinearGradient(30,0,0,30);  blueGrad.addColorStop(0, '#2a459c');   blueGrad.addColorStop(0.5, '#0e7adc');   blueGrad.addColorStop(1, '#2a459e');  var redGrad=_context.createLinearGradient(30,0,0,30);//通过rotate来旋转  redGrad.addColorStop(0, '#d0372f');   redGrad.addColorStop(0.5, '#e0675e');   redGrad.addColorStop(1, '#ce392d');  var greenGrad=_context.createLinearGradient(30,0,0,30);//通过rotate来旋转  greenGrad.addColorStop(0, '#059700');   greenGrad.addColorStop(0.5, '#02e003');   greenGrad.addColorStop(1, '#019a02');  //绘制两弧夹角内容  drawCake(_context,0,yellowGrad,nRadius);  drawCake(_context,Math.PI/2,blueGrad,nRadius);  drawCake(_context,Math.PI,redGrad,nRadius);  drawCake(_context,3*Math.PI/2,greenGrad,nRadius);  //内圆颜色  var lingrad =_context.createLinearGradient(-30,-30,30,30);  lingrad.addColorStop(0, '#4672df');   lingrad.addColorStop(0.2, '#6188e5');   lingrad.addColorStop(0.5, '#98b1ef');  lingrad.addColorStop(0.8, '#b1c3f2');  lingrad.addColorStop(1, '#eaedfc');  _context.save();  _context.beginPath();//内圆  _context.fillStyle=lingrad;  _context.arc(0,0,nRadius-10,0,Math.PI*2,true);   _context.fill();  _context.closePath();  _context.restore();  //绘制三角  var trianglerad=_context.createLinearGradient(-6,-10,-6,10);  trianglerad.addColorStop(0, '#99d4ea');   trianglerad.addColorStop(0.2, '#5e8fdd');   trianglerad.addColorStop(0.5, '#0f17a1');  trianglerad.addColorStop(0.8, '#4c65cc');  trianglerad.addColorStop(1, '#7299e5');  _context.beginPath();  _context.fillStyle=trianglerad;  _context.moveTo(12,0);  _context.lineTo(-6,10);  _context.lineTo(-6,-10);  _context.fill();  _context.restore();  }  //绘画一个扇形  function drawCake(_context,_nRotateAngle,_fillColor,_nRadius){  _context.save();  _context.beginPath();   _context.fillStyle=_fillColor;  _context.rotate(_nRotateAngle);  _context.moveTo(_nRadius-10,0);  _context.lineTo(_nRadius,0);//向右画一根线  _context.arc(0,0,_nRadius,0,Math.PI/2,false);   _context.lineTo(0,_nRadius-10);//向上画一个  _context.arc(0,0,_nRadius-10,Math.PI/2,0,true); //逆时针画内弧  _context.fill();  _context.closePath();  _context.restore();  }      

登录后复制

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

JavaScript+html5 canvas绘制小人的效果介绍

以上就是使用javascript和HTML5 Canvas画的四渐变色播放按钮效果的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2747434.html

(0)
上一篇 2025年3月8日 04:21:45
下一篇 2025年3月6日 16:24:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript设计模式中代理模式的介绍

    这篇文章主要介绍了javascript设计模式之代理模式,简单描述了代理模式的概念、功能、组成并结合实例形式较为详细的分析了javascript代理模式的定义与使用相关操作技巧,需要的朋友可以参考下 本文实例讲述了JavaScript设计模…

    2025年3月8日
    200
  • JavaScript设计模式中工厂的介绍

    这篇文章主要介绍了javascript设计模式之工厂模式,结合完整实例形式分析了工厂模式的概念、原理及javascript定义与使用工厂模式的相关操作技巧,需要的朋友可以参考下 本文实例讲述了JavaScript设计模式之工厂模式。分享给大…

    2025年3月8日
    200
  • JavaScript设计模式中构造函数模式的介绍

    这篇文章主要介绍了javascript设计模式之构造函数模式,结合实例形式分析了构造函数模式的概念、功能、定义及使用方法,需要的朋友可以参考下 本文实例讲述了JavaScript设计模式之构造函数模式。分享给大家供大家参考,具体如下: 一、…

    2025年3月8日
    200
  • JavaScript同源策略和跨域访问的介绍

    这篇文章主要介绍了javascript同源策略和跨域访问,结合实例形式较为详细的分析了javascript同源策略与跨域访问的原理、实现、使用方法及相关注意事项,需要的朋友可以参考下 本文实例讲述了JavaScript同源策略和跨域访问。分…

    编程技术 2025年3月8日
    200
  • 关于javascript中的变量提升和函数提升

    这篇文章主要介绍了详解javascript中的变量提升和函数提升的相关资料,需要的朋友可以参考下 1在js中只有两种作用域 a:全局作用域 b:函数作用域 在ES6之前,js是没有块级作用域。 立即学习“Java免费学习笔记(深入)”; 首…

    2025年3月8日 编程技术
    200
  • JavaScript中getter和setter的介绍

    这篇文章主要介绍了关于javascript中getter和setter的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 对象的属性是由属性名name,值key,和其他特性(可读写性 writable,可枚举性enumer…

    2025年3月8日 编程技术
    200
  • JS浏览器事件循环机制

    这篇文章主要介绍了关于js浏览器事件循环机制,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 先来明白些概念性内容。 进程、线程 进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。 线程…

    2025年3月8日
    200
  • 用Node处理文件上传

    这篇文章主要介绍了关于用node处理文件上传,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 在Web开发中,文件上传是一个非常常见、非常重要的功能。本文将介绍如何用Node处理上传的文件。 需求分析 由于现在前后端分离…

    2025年3月8日 编程技术
    200
  • 用Node提供静态文件服务

    这篇文章主要介绍了关于用node提供静态文件服务,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 对于一个web应用,提供静态文件(CSS、JavaScript、图片)服务常常是必须的。本文将介绍如何做一个自己的静态文件…

    2025年3月8日
    200
  • 利用javascript判断浏览器类型

    这篇文章主要介绍了关于利用javascript判断浏览器类型,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 判断浏览类型的相关方法 控制台打印浏览器相关信息 window.navigator.userAgent.toLowe…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论