Skip to content

resize

调整元素/容器的包围盒大小。

通过修改元素的宽高、路径、字体大小等实现 resize 包围盒宽高(不使用缩放值)。

需安装 resize 插件图形编辑器自动布局 会自动安装此插件。

关键方法

resizeWidth ( width: number)

resize 元素/容器的包围盒宽度。

若元素的 lockRatio 为 true, 将同时等比例调整高度。

resizeHeight ( height: number)

resize 元素/容器的包围盒高度。

若元素的 lockRatio 为 true, 将同时等比例调整宽度。

辅助方法

scaleResize ( scaleX: number, scaleY = scaleX)

缩放操作转换为宽高值 增量操作

图形编辑器插件 调整元素大小使用的是此方法。

Box / Frame 元素

resizeChildren: boolean

Box / Frame 的子元素是否跟随 resize, 默认为 false。

Group 会强制子元素跟随 resize,不用设置此参数。

Text 元素

resizeFontSize: boolean

自动宽高的文本是否通过修改字体大小进行 resize, 默认为 false。

辅助属性

lockRatio: boolean

是否锁定元素的宽高比例,默认为 false。

其他 resize 方法

以下方法可以在最后传入一个参数 resize: boolean 实现缩放操作转宽高值。

setTransform ()

transform ()

scaleOf ()

skewOf ()

transformWorld ()

scaleOfWorld ()

skewOfWorld ()

dropTo ()

将缩放转换为宽高操作。

归属

UI

示例

scaleOf 增加 resize 参数

ts
import { App, Rect } from 'leafer-ui'
import '@leafer-in/editor'

const app = new App({ view: window, editor: {} })

const rect = Rect.one({ fill: '#32cd79' }, 0, 0, 100, 100)

app.tree.add(rect)


const resize = true 

rect.scaleOf({ x: 0, y: 0 }, 2, 2, resize) // scale值将转为宽高

console.log(rect.scaleX, rect.scaleY, rect.width, rect.height)  // 1, 1, 200, 200

Released under the MIT License.