Hi Ktu,
Thanks for your supportive emails.
I'm not a newbie but I thought I might have missed something on the API that wasn't apparent in the as3 docs.
It sucks to have it confirmed it isn't supported :)
The thing is I want to stay as close to the original api as possible preferably without wrappers (we're not only talking about rects but also curved shapes are possible you see...). Though I'd be happy to see what you're take on it looks like :)
Thanks,
Latcho


On 13-04-10 16:59, Ktu wrote:
>From my experience, there is no API support for it. It sucks I know. I deal with this problem all the time.

For transparency, the beginFill(color:uint, alpha:Number); you can specify alpha. With the system I have shown you, the stroke would be transparent over top of the original color, so a red square with a semi transparent blue border would produce purple as your border.

If you want the stroke to be unaffected by the inside square it wouldn't be that hard to write a class to handle that. In fact, I use this so often I think I will do that.

I should be able to finish by Thursday at the latest and I'll share when I'm done. If you are eager for it, the idea would be to have build an object, that you would specify dimensions for, and fill color and alpha, and also the border fill and alpha, then when it draws the rectangle, it incorporates the stroke width into consideration so that there are no graphics behind it.

Ktu

On Tue, Apr 13, 2010 at 7:50 AM, spank man <[email protected] <mailto:[email protected]>> wrote:

    nice and simple sollution,
    but not so fine if you want the inner to be semi-transparent....
    Other ideas ? So no API support on this ?


    On Tue, Apr 13, 2010 at 4:11 AM, Ktu
    <[email protected]
    <mailto:[email protected]>> wrote:

        When I want inside borders I do this:


        var spr:Sprite = new Sprite();
        addChild(spr);
        var g:Graphics = spr.graphics;
        g.beginFill(0xFF45A3);

        g.drawRect(0, 0, 100, 100);
        g.endFill();
        drawInsideStroke(g, 0, 0, 100, 100, 1, 0x32010B);

        function drawInsideStroke(graphics:Graphics, x:int, y:int,
        width:int, height:int, thickness:int = 1, color:uint = 0x000000) {
            graphics.endFill(); // for good measure, but maybe not?
            graphics.beginFill(color);
            graphics.drawRect(x, y, width, height);
            graphics.drawRect( x + thickness, y + thickness, width -
        (thickness * 2), height - (thickness * 2) );
            graphics.endFill();

        }
        trace(spr.width,spr.height);  // -> 110 110
        trace(spr.getBounds(this)) // -> (x=-5, y=-5, w=110, h=110)


        On Mon, Apr 12, 2010 at 7:14 PM, Latcho <[email protected]
        <mailto:[email protected]>> wrote:

            Hello,
            Something i still can't solve is that when drawing for
            example a rect in a Shape graphics object with a fat
            lineStyle, the line drawn is always half it's thicknes in
            the inner part of the rect and half outside; This always
            gives me headaches  when aligning, measuring,  skinning or
            bitmapping stuff since half the line is in the negative x
            / y coordinate space of the shape..
            I know that I can use the getBounds method to get me the
            accurate  negative x and y offset of the (line) graphics,
            but what I really want is to have the line beign drawn
            totally within the rect. Is that possible by the default
            graphics api ? Then please expand on my example.

            Thanks.
            Latcho.


            var spr:Sprite = new Sprite();
            addChild(spr);
            var g:Graphics = spr.graphics;
            g.lineStyle(10,0xff0000);
            g.beginFill(0x0000ff);
            g.drawRect(0,0,100,100);
            g.endFill();
            trace(spr.width,spr.height);  // -> 110 110
            trace(spr.getBounds(this)) // -> (x=-5, y=-5, w=110, h=110)

            _______________________________________________
            Flashcoders mailing list
            [email protected]
            <mailto:[email protected]>
            http://chattyfig.figleaf.com/mailman/listinfo/flashcoders






_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to