首页 > 解决方案 > EaselJS:将形状拉伸到特定的一侧

问题描述

默认情况下,所有形状都从形状的中心对称地拉伸。是否可以将形状拉伸到特定的一侧?

在此处输入图像描述

标签: javascriptcanvastransformeaseljs

解决方案


事物从它们的原点“伸展”。如果您从中心绘制,然后缩放,那么它将看起来从中心缩放。

从中心绘制矩形

var r1 = new createjs.Shape();
r1.graphics.beginStroke("red").drawRect(-100,-100,200,200);

从左边画矩形

var r2 = new createjs.Shape();
r2.graphics.beginStroke("red").drawRect(0,0,200,200);

这是一个小提琴 https://jsfiddle.net/owx26481/

或者,您可以更改注册点,这基本上会偏移对象的绘制位置,并且具有相同的效果:

var r1 = new createjs.Shape();
r1.graphics.beginStroke("red").drawRect(0,0,200,200);

var r2 = new createjs.Shape();
r2.graphics.beginStroke("red").drawRect(0,0,200,200); // SAME

r2.regX = r2.regY = 100; // Change registration point to the center (50%)

这是一个更新的小提琴:https ://jsfiddle.net/owx26481/2

我希望这是有道理的!


推荐阅读