<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>canvas绘图演示</title>
    <style type="text/css">
        #canvas {
            border: 1px solid #ccc;
        }
    </style>
</head>

<body>
    //使用canvas标签作为画布,需要设置宽高
    //⚠️注意:画布的宽高是**整数**(类型为**number**)
    <canvas id="canvas" width="1000" height="1000">
        你的浏览器还不支持canvas
    </canvas>

</body>
<script type="text/javascript">
    //画椭圆,作为圆柱的底部
    function ParamEllipse(context, x, y, a, b) {
        //max是等于1除以长轴值a和b中的较大者
        //i每次循环增加1/max,表示度数的增加
        //这样可以使得每次循环所绘制的路径(弧线)接近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) {
            //参数方程为x = a * cos(i), y = b * sin(i),
            //参数为i,表示度数(弧度)
            context.lineTo(x + a * Math.cos(i), y + b * Math.sin(i));
        }
        context.closePath();// 创建从当前点回到起始点的路径
        context.stroke();// 绘制已定义的路径
    }

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

//阴影效果
    context.shadowBlur = 10;
    context.shadowColor = "rgba(0,0,0, 0.2)";
    // 直接绘制填充的矩形
    //使用fillRect方法
    context.fillStyle = "rgba(237,142,18, 0.6)";
    context.fillRect(310, 100, 200, 200);
 
    context.fillStyle = "rgba(0,192,161, 0.6)";
    context.fillRect(310, 300, 200, 200);

context.fillStyle = "rgba(0,183,233, 0.6)";
    context.fillRect(310, 500, 200, 200);

context.fillStyle = "rgba(71,187,59, 0.6)";
    context.fillRect(310, 700, 200, 200);

// 椭圆与方块的nice连接
    // 顺序决定颜色的层次问题
    context.lineWidth = 2;
    context.strokeStyle = "rgba(237,142,18, 0.6)";
    ParamEllipse(context, 410, 100, 100, 20); //椭圆
    context.fillStyle="rgba(237,142,18, 1)";
    context.fill();

context.lineWidth = 2;
    context.strokeStyle = "rgba(237,142,18, 0.6)";
    ParamEllipse(context, 410, 300, 100, 20); //椭圆
    context.fillStyle="rgba(237,142,18, 1)";
    context.fill();
    
    context.lineWidth = 2;
    context.strokeStyle = "rgba(0,192,161, 0.6)";
    ParamEllipse(context, 410, 500, 100, 20); //椭圆
    context.fillStyle="rgba(0,192,161, 1)";
    context.fill();

context.lineWidth = 2;
    context.strokeStyle = "rgba(0,183,233, 0.6)";
    ParamEllipse(context, 410, 700, 100, 20); //椭圆
    context.fillStyle="rgba(0,183,233, 1)";
    context.fill();

context.lineWidth = 2;
    context.strokeStyle = "rgba(132,238,121, 0.6)";
    ParamEllipse(context, 410, 900, 100, 20); //椭圆
    context.fillStyle="rgba(132,238,121, 1)";
    context.fill();

</script>

</html>

如何用h5标签canvas画柱状图【立体】相关推荐

  1. canvas 画柱状图

    目录 canvas 画柱状图 画一个简单的柱状图 随机的柱状图 canvas 画柱状图 画一个简单的柱状图 注意点: 画柱状图 矩形图 的时候 需要先填充 后描边 再使用 fillRect 等! ct ...

  2. 利用H5的canvas画一个时钟

    学习了一周的canvas了,看了一些资料和视频,跟着视频也画了一些统计图和圆,矩形,线之类的,跟着视频也做了一个钟表,话不多说,直接上代码 canvas上套一个div盒子,作为钟表的背景 <di ...

  3. canvas画柱状图 和饼图

    学习扔物线大大的教程 http://hencoder.com/ui-1-1/ https://github.com/hencoder/PracticeDraw1 饼图的指示文字还需要重新计算一下还有防 ...

  4. H5组件Canvas画电子印章

    效果图 代码 <!DOCTYPE html> <html> <head>  <meta charset="UTF-8">  < ...

  5. 新H5中用canvas画一个数字钟表

    此文章是参考以往大牛代码,在大牛代码基础上加以更改而成. 本人暂时还是一名技术菜鸟,刚刚踏上web前端这条路才五个月,希望大牛们多多提携... 效果图如下: 话不多说,上代码: <body st ...

  6. 前端H5使用canvas画爱心以及笑脸

    目录 canvas简介 画爱心 效果 画笑脸 效果 结语 canvas简介 canvas是HTML5中推出的新功能,可以在页面上生成一个画布,使用js可以在画布上绘制一些图形. 画爱心 画爱心我们需要 ...

  7. h5跨域访问图片_h5标签canvas关于getImageData跨域的问题

    h5标签canvas关于getImageData跨域的问题 在学习h5的时候,canvas标签中getImageData()报错:security error! 具体代码如下(chrome浏览器): ...

  8. H5 canvas 画圆 画圆角

    canvas是H5的一大重点 我们来学一下如何用canvas画圆 画圆 arc(x,y,r,起始弧度,结束弧度,顺逆时针) x,y就是这个圆的圆心坐标 r是圆的半径 弧度单位用Math.PI 顺逆时针 ...

  9. html画布直线代码,图文详解如何用html5 canvas画一条直线

    是HTML5 中新增的元素,它可以结合JavaScript脚本绘制出各种各样的图形,对于canvas你了解多少?你会用canvas画直线吗?这篇文章就和大家讲讲如何用canvas画一条直线,有一定的参 ...

最新文章

  1. 高并发大流量专题---5、CDN加速
  2. cannot find -lcudart
  3. springmvc学习笔记--ueditor和springmvc的集成
  4. 【Vue】脚手架 Vue CLI 的使用
  5. 如何在vb.net中取得两时间的毫秒差_科技品牌软文营销如何写出一篇爆文?
  6. 笨办法学 Python · 续 练习 29:`diff`和`patch`
  7. ASP.NET2.0的控件状态和视图状态探讨
  8. android runtime异常,在做android下拉刷新时遇到异常java.lang.RuntimeException: Can't create handle...
  9. 模拟电路与数字电路基础知识及实训QY-DG760A
  10. 网络ip段计算,网络地址计算,广播地址计算,主机号计算规则
  11. 运行时 不显示对话框 只显示 对话框上面的控件
  12. 统计分析用户信息量的工具Flurry的使用
  13. 那个小白说他还没搞懂类和对象,我一怒之下把这篇文章扔给了他
  14. 3D游戏编程与设计-游戏分类与热点探索
  15. 开发JAVA第一步,教你选好JSP虚拟空间
  16. C Primer Plus(第五版)2
  17. DAVINCI DM365-DM368开发攻略—U-boot-2010.12-rc2-psp03.01.01.39及UBL的移植
  18. 人脸识别:路在何方?| 爱莫受邀参加VALSE Webinar报告会
  19. HP-EVA4400故障导致的oracle数据库丢失的恢复过程
  20. 数据库 —— mycat 代理

热门文章

  1. C#编写一个简易计算器
  2. 三分钟了解Spring Cloud Gateway路由转发之自动路由
  3. UnityHDR渲染管线中使用3dsmax导入的模型丢失贴图恢复
  4. js Buckets 库 链表
  5. Docker2375端口未授权getshell
  6. 计算智能学习2_BP神经网络原理_数字识别_字符识别_matlab实现
  7. 信念就是一种观念对不对_有一种人,不张扬而坚定,不炫耀却可靠,那个就是知己...
  8. Vue 倒计时(countDown)组件
  9. Canvas——操作像素
  10. solr 安装和使用