【问题标题】:Canvas fabric.js: how to set the height correctly?Canvas fabric.js:如何正确设置高度?
【发布时间】:2017-06-12 05:16:35
【问题描述】:

我使用 fabris.js 工厂来处理对象画布。如果您更改单独鼠标或单独字段的高度 - 它可以工作。如果您先更改鼠标,然后再更改字段 - 以使用易读的错误值。

请帮忙解决。

Full code

A bug in the video.

第 83、84 行。设置值:

canvas.getActiveObject().setHeight(parseInt(heightElInput.value));
canvas.getActiveObject().height = parseInt(heightElInput.value);

【问题讨论】:

  • 您在某处更改对象的 scaleY,这就是您有错误的原因。在第 84 行之后插入此代码,它应该可以工作:canvas.getActiveObject().scaleY = 1;另外,你可以使用 setHeight 函数,你不需要同时使用它们
  • 我从不问这个值(scaleY)。仅当您添加(scaleY:1)时。这怎么可能?
  • 解决了您的问题吗?您确实要求进行此更改。每次使用 FabricJs 控件调整大小时,它都会缩放对象。您必须建立自己的调整大小的逻辑。我的意思是您可以使用比例因子乘以高度和/或宽度,并将此值用作新的高度和/或宽度,并将比例因子重置为 1。
  • 谢谢。问题解决了

标签: javascript css html canvas fabricjs


【解决方案1】:

您在某处更改对象的 scaleY,这就是您有错误的原因。在第 84 行之后插入此代码,它应该可以工作: canvas.getActiveObject().scaleY = 1 - 当您垂直调整大小时,如果水平 - canvas.getActiveObject().scaleX = 1;另外,你可以使用 setHeight 函数,你不需要同时使用它们 – Observer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-19
    • 2015-06-12
    • 2015-05-24
    • 2012-09-05
    • 2019-07-09
    • 2018-12-11
    • 2014-06-15
    • 2015-10-04
    相关资源
    最近更新 更多