jquery - 设置 Canvas 元素的尺寸

标签 jquery html css canvas

我有一个链接到 JSchart 的 Canvas .我希望通过 JQuery 动态设置 Canvas 高度和宽度。

HTML

<canvas id="keyFiguresChart"></canvas>

JS

this.drawChart();
this.$("#keyFiguresChart").width(800);
this.$("#keyFiguresChart").height(200);

当我在创建图表之前设置属性高度和宽度时,它不起作用。然后由 JSchart 库计算标准高度和宽度。

在创建图表后设置高度和宽度时,canvas 的尺寸是正确的,但内容被拉伸(stretch)以匹配尺寸。

最佳答案

您正在设置 canvas 的 CSS widthheight 属性,这会导致它拉伸(stretch)其内容。请参见 jQuery documentation :

尝试像这样设置元素的 widthheight 属性:

// Assuming you've only got one Canvas on page.
this.$("#keyFiguresChart").attr('width', 800);
this.$("#keyFiguresChart").attr('height', 200);

关于jquery - 设置 Canvas 元素的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20116255/

相关文章:

javascript - 图表 : How to remove specific label

jquery - Bootstrap 3 - 可折叠的右侧面板,如 Google Drive Details/Activity 面板

html - 为 anchor、li 和 span 设置相同的高度

css - 初学CSS定位( float )

html - 如何添加位于 Bootstrap 轮播顶部的封面图片?

javascript - REGEX - 必须包含字母数字和斜线

javascript - 无法在 Django 中实现动态下拉列表

javascript - 如何监视隐藏输入元素的值?

javascript - 如何在 JS 中增加 div 的 top 属性?

html - 如何使选择元素根据元素字符串长度进行调整? ( Angular 2)