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 );

最終的な境界を決定するには、すべての形状とそのすべてのエッジをループする必要があります (すべてのエッジが同じ厚さであることが確実な場合は、1 つだけチェックしてください)。

于 2011-12-22T07:28:36.683 に答える
0

オブジェクトの境界を取得する場合、JSFL に対してストロークの幅は 0 です。私が考えることができる唯一の方法は、シンボルを編集し、形状を選択して、1.) ストローク サイズを取得し、その値の 1/2 を計算に追加するか、2.) ストロークを塗りつぶしに変換することです (信頼できない)複雑なアウトライン用)

ストロークのみを含めたいが、正確なサイズ設定は重要ではない場合は、getBounds の結果にいくつかのピクセルを任意に追加できます。

于 2011-11-29T17:09:30.270 に答える