Failed to execute ‘getImageData‘ on ‘CanvasRenderingContext2D‘: The source height is 0.

Uncaught DOMException: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source height is 0.

使用heatmap.js生成热力图时,报了这个错。
原因是canvas容器需要高度,给div容器设置高度就可以了。

<template>
  <div id="heatmap"></div>
</template>

改为

<template>
  <div id="heatmap" style="width:840px; height: 400px;"></div>
</template>

附上使用vue生成一个热力图demo

<template>
  <div id="heatmap" style="width:840px; height: 400px;"></div>
</template>

<script>
import Heatmap from 'heatmap.js'
export default {
  name: '',
  components: {},
  props: {},
  data () {
    return {
    };
  },
  computed: {},
  watch: {},
  created () { },
  mounted () {
    this.getRectValue()
    this.initHotPic()
  },
  methods: {

    // 初始化获取宽高(考虑到后期的适配,获取父级元素的宽高)
    getRectValue () {
      this.cavWidth = document.getElementById("heatmap").clientWidth;
      this.cavHeight = document.getElementById("heatmap").clientHeight;
      console.log(this.cavWidth, this.cavHeight)
    },
    // 初始化热力图
    initHotPic () {
      var heatmap = Heatmap.create({
        container: document.getElementById('heatmap')
      });
      var len = 100;
      const width = 300;
      const height = 300;
      const points = [];
      var max = 0;
      while (len--) {
        var val = Math.floor(Math.random() * 100);
        max = Math.max(max, val);
        var point = {
          x: Math.floor(Math.random() * width),
          y: Math.floor(Math.random() * height),
          value: val
        };
        points.push(point);
      }
      heatmap.setData({
        max: max,
        data: points
      });
    }
  }
};
</script>

<style  scoped></style>
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Failed to execute”是指一个命令或程序在执行过程中出现了错误,导致无法成功执行。这个错误可能是由于多种原因引起的,例如: 权限问题:执行程序或命令时,可能需要具有特定的权限才能成功执行。如果当前用户没有这些权限,则会出现“Failed to execute”错误。 文件路径问题:如果指定的程序文件路径不正确,或者在执行命令时使用了错误的命令名称,也会导致“Failed to execute”错误。 内存或系统配置问题:如果系统内存不足或者某些硬件配置不符合程序的要求,那么程序可能无法成功执行,并出现“Failed to execute”错误。 依赖项问题:某些程序需要特定的依赖项才能正常运行,如果这些依赖项没有正确安装或配置,程序将无法执行。 为了解决“Failed to execute”错误,可以尝试以下方法: 检查权限问题:确保当前用户具有足够的权限来执行程序或命令。 确认文件路径和命令名称是否正确:确保指定的程序文件路径和命令名称是正确的,并且与所需的程序匹配。 检查内存和系统配置:确保系统具有足够的内存,并且硬件配置符合程序的要求。 检查依赖项:确保程序所需的依赖项已经正确安装和配置。 如果尝试以上方法仍然无法解决问题,可以尝试查看相关日志或错误消息,以获取更详细的错误信息,并进一步排除问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值