2

actionscript 中的 DisplayObject.getBounds 返回包含笔划的对象的边界。JSFL 中 SymbolInstance 的 left、top、width、height 属性似乎不包括笔划。这是我发现从 JSFL 获取符号边界的唯一方法。还有其他方法吗?

4

2 回答 2

2

Edge您正在寻找Shape. Edge有一个具有属性的Stroke对象thickness

// This will show the selected shape's first edge's thickness:
fl.trace(fl.getDocumentDOM().selection[0].edges[0].stroke.thickness );

您必须遍历所有形状及其所有边缘以确定最终边界(如果您确信所有边缘具有相同的厚度,只需检查一个)。

于 2011-12-22T07:28:36.683 回答
0

在获取对象的边界时,对于 JSFL,笔划的宽度为 0。我能想到的唯一方法是编辑符号,选择形状,然后 1.) 获取笔触大小并将其值的 1/2 添加到您的计算中,或者 2.) 将笔触转换为填充(不可靠对于复杂的轮廓)

如果您只想包含笔画但精确的大小并不重要,您可以在 getBounds 的结果中任意添加一些像素。

于 2011-11-29T17:09:30.270 回答