• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5之10 __使用 Canvas API创建 热点图

HTML5之10 __使用 Canvas API创建 热点图

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,API创建,热点图 等相关知识,匿名希望在学习及工作中可以帮助到您
使用Canvas API 可以创建许多应用: 图形、图表、图片编辑, 其中最奇妙的一个应用是修改或覆盖已有内容。 最流行的覆盖图被称为热点图。 热点图可以用在城市地图上来标记交通路况, 或者显示风暴的活动情况。

在地图上只需要将canvas 叠放在地图上显示即可。 实际上就是用 canvas 覆盖地图, 然后再基于相应的活动数据绘制出不同的热度级别。

以下提供一个示例.

<!DOCTYPE html>
<html>
  <title>HTML5 Canvas Example</title>
  <style type="text/css">
    @import url("styles.css");
    #heatmap {
        background-image: url("mapbg.jpg");
    }
  </style>
  <h1>HTML5 Canvas Example</h1>
  <h2>Heatmap </h2>
  <canvas id="heatmap" class="clear" style="border: 1px solid ; " height="300" width="300"> </canvas>
    <button id="resetButton">Reset</button>
  <script>
    function log() {
        console.log(arguments);
    }

    var points = {};
    var SCALE = 3;

    var x = -1;
    var y = -1;

    function loadDemo() {
        document.getElementById("resetButton").onclick = reset;
        canvas = document.getElementById("heatmap");
        context = canvas.getContext('2d');
        context.globalAlpha = 0.2;
        context.globalCompositeOperation = "lighter";

        function sample() {
            if (x != -1) {
                addToPoint(x,y)
            }
            setTimeout(sample, 100);
        }

        canvas.onmousemove = function(e) {
            x = e.clientX - e.target.offsetLeft;
            y = e.clientY - e.target.offsetTop;
            addToPoint(x,y)
        }
        sample();
    }

    function reset() {
        points = {};
        context.clearRect(0,0,300,300);
        x = -1;
        y = -1;
    }

    function getColor(intensity) {
        var colors = ["#072933", "#2E4045", "#8C593B", "#B2814E", "#FAC268", "#FAD237"];
        return colors[Math.floor(intensity/2)];
    }

    function drawPoint(x, y, radius) {
            context.fillStyle= getColor(radius);
            radius = Math.sqrt(radius)*6;

            context.beginPath();
            context.arc(x, y, radius, 0, Math.PI*2, true)

            context.closePath();
            context.fill();
    }

    function addToPoint(x, y) {
        x = Math.floor(x/SCALE);
        y= Math.floor(y/SCALE);

        if (!points[[x,y]]) {
            points[[x,y]] = 1;
        } else if (points[[x,y]]==10) {
            return
        } else {
            points[[x,y]]++;
        }
        drawPoint(x*SCALE,y*SCALE, points[[x,y]]);
    }
    window.addEventListener("load", loadDemo, true);
  </script>
</html>




以上就是HTML5之10 __使用 Canvas API创建 热点图 的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03详细介绍代码检测HTML5/CSS3新特性的浏览器支持情况
  • 2018-12-03李炎恢HTML5视频资料分享
  • 2018-12-03会走动的图形html5时钟示例_html5教程技巧
  • 2018-12-03html5中在可拖动元素或选取的文本放置在目标区域时触发的事件ondrop
  • 2018-12-03html5模拟平抛运动(模拟小球平抛运动过程)_html5教程技巧
  • 2017-08-06关于 HTML5 的七个传说小结
  • 2018-12-03HTML5 解决苹果手机不能自动播放音乐问题的相关技巧
  • 2018-12-03推荐10款上传图片特效(收藏)
  • 2018-12-03HTML5+NodeJs实现WebSocket即时通讯的示例代码分享
  • 2018-12-03Html5新标签datalist实现输入框与后台数据库数据的动态匹配的详细介绍

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • h5头像图片旋转css3精确控制每个图片的位置
    • SVG基础|绘制SVG直线、折线和多边形
    • 总结关于本地缓存的实例讲解
    • HTML5学习笔记之html5与传统html区别 _html5教程技巧
    • HTML5 Canvas自定义圆角矩形与虚线的代码实例介绍
    • HTML5新增的Css选择器、伪类介绍_html5教程技巧
    • 借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
    • HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
    • API之range对象
    • HTML5 对各个标签的定义与规定:section

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有