gpt4 book ai didi

javascript - 我如何调整(不完全是海峡缩放)道场向量的大小?

转载 作者:行者123 更新时间:2023-11-29 20:12:14 24 4
gpt4 key购买 nike

我正在制作一个调度应用程序,其中包含用于.. 调度 block 的 block 。它们由 1px 的矩形分隔。在大多数情况下,我可以简单地使用转换来缩放网格,但我显然希望这些 1px 分隔符保持相同的宽度。

也许这更像是一个意见问题,因此违反了规则,但目前我能想到的唯一方法是将我的线放在一个单独的数组中,然后根据需要通过重新计算新维度来移动/缩放它们一个调整大小的事件,但我觉得应该有更好的方法来做到这一点,我不知道自己是 dojo 的新手。如果这是一种可以接受的方法,请这样说,因为我不想从一开始就陷入反模式。是否有更合适的方式来表示 block 线,而不是简单地用矢量绘制它们?

编辑:被要求提供代码示例。我可以发布我的代码,但这并不重要,一个更简单的例子是这样的:

var rect = surface.createRect({ x: 100, y: 50, width: 200, height: 100 })
.setFill("yellow");

鉴于上述情况,我将如何做一些事情,比如将宽度更改为 300,或者移动对象的位置?我已经尝试修改基础形状,在本例中为 rect.shape,但它似乎没有应用更改,这并不奇怪。

如果我可以修改它会很方便,但是一旦完成我就找不到应用这些更改的方法。只是猜测我尝试运行 rect._applyTransform(),但这也不起作用,而且我没有看到任何其他检查 dom 可能对我有用的东西,也没有在文档中找到任何基于百分比缩放的内容,我可以使工作,但这会很不方便,而且我仍然无法弄清楚如何简单地移动对象/更改它的位置。

edit2:找到答案,见下文。

最佳答案

想通了,我正在寻找 setShape 方法。这使您可以直接设置任何形状属性、位置坐标、高度、宽度和矩形的半径。据我所知,如果您想使用相对定位而不是绝对定位来移动它,您只需从它的当前位置添加(或减去)它可以从 obj.shape 属性中获取,非常简单。

例如,将矩形向右移动 50px 并使其高 20px:

rect.setShape({height: rect.height + 20, x: rect.shape.x + 50});

此外,如果它对任何人有帮助,只需调用 removeShape 方法即可删除形状,我花了一分钟才找到它;我不喜欢 dojo 的引用设置方式,到目前为止,无论好坏,使用 firebug 浏览 dom 都比较幸运。

关于javascript - 我如何调整(不完全是海峡缩放)道场向量的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8914706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com