在flex,as3中绘制任何形状(心,圆等)周围的图形边框

时间:2011-10-24 06:25:57

标签: actionscript-3 flex flex4

从过去几个月开始,我正在寻找一个解决方案,但找不到这个问题的确切答案

问题是:

假设我有这个图像(如下所示),我必须在这个图像周围显示一个内边框,我认为在这周围显示边框最好通过图形,

但是图形的功能有限,如drawRect,drawRoundedRect等,

我也看过Senocular.com的Path.as,

我想知道的是,是否有可能在这个形状或任何其他不规则形状周围绘制内边框(通过图形,我需要找到图像周围的边框像素,我猜),

我不想使用任何虚线(此图像上的另一个图像)作为边框,我知道这是一个解决方案,:-),但这次事情很基于计算,所以你们中的任何一个人都有任何工作算法或任何可以让我在任何形状周围绘制虚线边框的东西,这将是非常有帮助的,

我是flex开发人员,所以我应该告诉你这个图像在某个画布中,我将此图像的位图数据绘制到画布中

谢谢

enter image description here

1 个答案:

答案 0 :(得分:1)

如果符号非常基本(未屏蔽),则可以使用简单的getBounds或getBoundsRect属性。如果它们更复杂,您可能会觉得这很有用:

public function getFullBounds ( displayObject:DisplayObject ) :Rectangle
{
    var bounds:Rectangle, transform:Transform, toGlobalMatrix:Matrix, currentMatrix:Matrix;
    transform = displayObject.transform;
    currentMatrix = transform.matrix;
    toGlobalMatrix = transform.concatenatedMatrix;
    toGlobalMatrix.invert();
    transform.matrix = toGlobalMatrix;
    bounds = transform.pixelBounds.clone();
    transform.matrix = currentMatrix;
    return bounds;
}

照顾:http://usecake.com/lab/find-the-height-and-width-of-a-sprite-with-a-scrollrect.html