Actionscript 3 :: Draw Shapes On BitmapData / Getting Its Graphics Context
Aug 9, 2010
What would be your recommendation for drawing shapes (rects, circles...) onto BitmapData, and how to effectively switch between colors.Draw shapes on BitmapData / getting its graphics context
Is there any way to get graphics context from BitmapData so I could easily paint shapes using graphics.draw...()?
I am copying a bunch of shapes from my stage to a set of bitmaps for filtering.
Is there a faster way to do this? Is there a way to copy everything over together from the stage rather than how I'm doing it by copying the shapes in my array one by one?[code]...
I am having an issue with using BitmapData.draw(stage). I am getting the following error:
SecurityError: Error #2123: Security sandbox violation: BitmapData.draw: file:///C|/Documents%20and%20Settings/bla...bla...bla.swf cannot access null. No policy files granted access. Here is a portion of my code:
var bd:BitmapData = new BitmapData(2800, 2100); bd.draw(stage);//this is where the error happens All of the files referenced (.xml/.jpg/.swf) are located in the same local folder as the main .swf. How do I get around this error? The main objective is to print the stage using PrintJob(). I am using Flash Professional CS5.5 and publishing to Flash 10.0/10.1. Let me know if I need to supply any more info.
I've been using BitmapData.copyPixels() to draw graphics onto a canvas (Bitmap).I need to rotate the resulting graphics without the use of draw() because it's vastly slower.How can I rotate the target graphic? I'm assuming that there might be a formula or library that I can use which will first reorganize the pixels that make up a graphic based on an origin (point) and radians.I'm pretty certain that I'm not capable of creating such logic, so if there are any known libraries that do this, that would be awesome.I'd like to achieve something similar to XNA's SpriteBatch.Draw() method, which accepts rotation as its 5th argument.
I'm currently working on a flash game and I need to know how to addChild a BitmapData or draw a BitmapData to screen. If I can't than how can I give a DisplayObject my BitmapData?
I am using the draw() method of the BitmapData to encode a jpeg of part of the image. Now this should be easy enough given the object I want to draw to the bitmap is on the stage at design time so I know its location and dimetions exactly! Heres the code I have in place.
Code: var myBitmapSource:BitmapData = new BitmapData ( street.width, street.height, false, 0x333333); myBitmapSource.draw(street, null, null, null, new Rectangle( 96, 5, 571, 450 ), true );
I know for a FACT that no part of the street clip I am drawing out is in negative space, and it's registration is (0,0). However, it cuts off A lot of the top of my image. y=5 in the above rectangle is where I need the top to be, but it cuts the top off of the image... even if I change it to 0, it has no effect.
I'm trying to do some lean blitting for an object that rotates by rotating it once at startup and capturing a BitmapData snapshot of each 5 degrees. The problem I'm having is that the draw() method of the BitmapData object is only picking up pixels in the MovieClip that are below and to the right of the registration point. If I change the MC so that the registration point is in the top left corner, I sometimes get what looks like most of the pixels, but the entire object rotates into and out of the frame, since it's rotating around the corner and not the center.
I call the function below from the context menu and graphics get cleared. If the call comes from within another function it don't. Why it's not working than?
function removeFrame(e:Event=null):void{ holder.graphics.clear(); }[code]....
It's Working if I call the function directly from the right-click menu:
Here in Flash CS4 Explorer, I have shapes. It's intuitive that I be able to right-click on Scene1, and be able to Insert Shape. Can't. I go to the frame. Can't. I right-click everywhere. I see 'Create Shape', but everywhere I see it, it's grayed out - won't let me.
How do I create new shapes in the graphics folder in the library of a flash cs4 project?
i have a class thats create a class with bitmapData that merge 2 IBitmapDrawable. one of them is 24*20 while the other is 16*16.i want to draw the smaller first in a bitmapData object which its width and height are 24*20 but i want to draw it in the center of the big bounds.
Why is it that when I draw with the pencil tool, my lines get auto-reshaped? This is nice but it's not nice when I try to draw a stickfigure and it turns out completely wrong. Sometimes when I draw a circle with the pencil tool it becomes a square. But then again I don't use a drawing pad. I use a mouse.
Somebody told me: "Because Flash is really a vector drawing tool, not a bitmap drawing tool. It is *interpreting* your marks as pieces of a curve. That said I think there may be a setting to remove this smooth - in effect using more line parts for you drawing."
Is is possible to draw something like [URL] using AS3? If yes, is it possible to do it without masks? I'm trying to create a circle from a vertical line, like analog clock 12 oclock, and then clockwise, in fluid motion, that line goes around 360 and makes a circle in an amount of sec, let's say in 6 sec.
Im designing an 'L-System' (Lindenmayer System) in flash which generates random shapes using lines working around rewrite rules. I've got so far and my program seems to be outputting the correct rewrite rules but I just can't seem to get it to draw according. I'll post my code below
I'd like to learn how to create classes. For instance, I'd like to create a class that draws a custom shape. Like an arrow that is just a rectangle with a triangle on the end. I'd like to be able to do this sort of thing:
I'm trying to create a draw program in AS2 where I can draw shapes with my mouse inside a Scrollpane. Furthermore, I need to be able to drag and drop these objects within the Scrollpane. Currently, I'm doing the following:
1) I created an empty movie clip called main and I'm attaching it inside the Scrollpane called scroll
2) I draw the objects inside another empty movie clip called p0, p1, p2, etc. which I'm attaching inside main. When I drag the objects around, they can be dragged outside the boundaries of the Scrollpane. How can I prevent that from happening?
Basically I discovered its no problem at all to draw lines or shapes or whatever directly onto an mx:Text object using its graphics property (Text.graphics.lineTo, etc.). If just displaying that text, then any such drawn lines are displayed as well. However, if that Text object is used as a mask, then any drawn lines on that text object are merely ignored when the mask is rendered. And its hard for me to see the reason behind this, if anyone else is able to. I mean you're designating the Text object itself as the mask. It seems like any visual change to that text object should be part of the mask.
I can't post images yet: [URL]. Using Actionscript 3 I'm drawing multiple Shapes onto a MovieClip [top drawing]. The end result I need is the bottom drawing. I originally thought it would be simple to just merge the shapes and then find a way to draw a border around the end result but I can't seem to find any way of doing this. Is this possible or is there a better way of trying to do this?
I've seen the BitmapData object used for graphics a fair bit, especially in games. Many of these cases have done things in somewhat fundamentally different ways, and I was wondering what the best way generally is.
Method 1: Each animation frame is kept in a separate BitmapData object using an array.
Method 2: The animation is kept in a strip using a single BitmapData object and using the "sourceRect" parameter of copyPixels.
The draw and hitTest methods appear not to provide any "sourceRect" parameter. Most of the code I have seen using method 2 has worked around this by copying the bitmap frame into a temporary bitmap for these methods. This seems like quite a large processing overhead to me. Using method 1 this is generally not a problem, unless hitTest needs to be used with scaling and/or rotation, in which case a temporary transformed copy is still needed it seems as hitTest doesn't except a transformation.
I'm thinking method 1 is the better choice since it avoids having to make temporary copies for the most part, and I don't think it would waste much memory (just the duplicated width, height, etc values?). Is this generally true or is there a reason lots of people seem to do things the second way?
Also is there a better way to use hitTest for bitmaps that have been scaled, rotated, etc?
i have a movieClip. On it i draw a few rundedRects, when i resize the window i use graphics.clear to remove it, and then reDraw the Rects. Will this result in memory leakages? or will flash reuse the memory address as long as i draw on the same sprite?
I have a complex graphics data on a sprite or a shape (no matter which is exactly). But I want to draw shadow (inner too) for one Rect ( [10, 10, 240, 25] for example) or another path.
A simple moveTo(x, y) call before beginBitmapFill does not work :/ Neither does changing the x and y value of drawRect... (That just seems to have the same effect as an translation with the matrix...) Additionally I don't want do draw that thing in a separate Graphics-Object and add that one into the other...
I need draw rectangle with two circle holes inside. The problem is in circles interception. I want them to join together and cut from background, but they seems to be XORed:
here getCirclePath returns object with points to draw polygon which looks like circle. Also I tried different combinations of GraphicsPathWinding constants, but no luck.
how to draw two intersecting circle holes in graphics?
I have the code to copy parts of a huge loaded BitmapData to a target BitmapData that is just the size that I can display. I think I have set the scroll bars of an enclosing Canvas to show the size of the larger image and allow the user to scroll. Now I need to put the selected pixels on the screen. When I try to add a Bitmap component as a child of the Canvas, it get an error because Bitmap is not a UIComponent. What's the best way to put the target BitmapData into an Image component?