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 wrote a collision detection class that works off using BitmapData.hitTest. Basically, every update, the .draw method is called and then two BitmapData's are hitTest'ed against each other to see if there is a collision.It works pretty well, however if I start rotating the source MovieClip I use for the BitmapData, the transformations don't get registered in the draw method. So what I did was pass through a Matrix in the draw method. That works. But here's the actual issue. If I output the BitmapData to a Bitmap on the stage, I see that Bitmap is, in fact, rotating, but now it's exceeding the bounds (width and height) of the BitmapData. Which is cropping / clipping the image of the source MovieClip.
UPDATE: Basically, when the Bitmap clone of the MovieClip rotates outside the positive co-ordinate space, it doesn't get drawn. It rotates outside the bounds of the BitmapData set width and height. I can multiply the bounds by 2, and then center the bitmap inside the set bounds, but then the origin point is never fixed and the object is always being moved around. Works pretty well, but makes aligning the object to any specific point impossible.Here's my isolated test code. It requires you to have a MovieClip on the stage named "iTest". I used a fairly vertical arrow shape (higher than it is wide) so I could keep track of rotations visually accentuate the clipping problem:
var rotateTimer:Timer = new Timer(10); function rotateObject_init():void {
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'm making a copy of a Sprite via the BitmapData Draw method. It kind of works other than the top portion of the bitmap gets cut off (replaced with transparent pixels). It looks like it's about the same height as the Sprite's y value.
I am drawing a flash sprite on a BitmapData using its draw() method. This sprite has some nested objects with 0 alpha, yet the draw() method draws them on the bitmap data.
I think it has to do with the color transform I am using, but I have no idea how to change it to achieve the effect I want.
The color transform is the following:
Code: new ColorTransform(1, 1, 1, 1, 255, 255, 255, 255);
I am using these values in order for the Bitmap to have white pixels wherever the object was, and black where there is nothing. The draw() also draws my alpha = 0 objects in white as well.
The documentation says that clipRect parameter of the BitmapData.draw method sets clipping for the source.Reading this I wrote an AnimatedObject class for my potential flash game. This class draws a frame from a .png animation strip, and doesn't work with Flash scene hierarchy.
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'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 am using NetStream.appendBytes() to play a local video (no server involved) in Adobe AIR. I would like to use BitmapData.draw() to take a picture of the video output, but I am getting this error:
This is only sample code use for an explanation. The error would happen when calling the getImage method while the video is playing. The error mentions a policy file not found. Since the file is loaded locally there isn't really a place to put a policy file. Is there a policy setting somewhere that needs to be set or is the BitmapData.draw feature just not available when using appendBytes?
We have discovered that when we draw one bitmapdata into another bitmapdata using draw, there is an upper bound on the scaling transformAt some point the IBitmapDrawable parameter ceases to be rendered on the target bitmap.Does anyone know what the parameters of this upper bound are? Is this documented somewhere?
I have a component that contains 4 layers: (in ascending depth order) bgImage:Sprite, dropZone:Sprite, dropMask:Sprite and line:Sprite. The bgImage is at 0,0, and the other objects are placed at various positive coordinates. dropMask is masking dropZone.At the point of bitmap capture I want to only draw from the dropZone and dropMask layers, so I'm trying this:
removeChild(bgImage); removeChild(line); var bmd:BitmapData = new BitmapData(dropMask.width,dropMask.height,true,0); bmd.draw(this,null,null,null,dropMask.getBounds(this));
Despite the dropMask being located at 50,60 the capture always starts from 0,0. I've also tried getting the boundary rectangle and forcing the x,y, but it makes no difference. should I just forget clipRect and use a matrix instead?
I have a large sprite...and I'm splitting it into several smaller ones with function bellow. The function works great but the memory usage of my .swf grows dramatically.
private function split_sprite(sp:Sprite,the_parrent:Sprite) { var region:Rectangle = new Rectangle(); region = sp.getBounds(the_parrent);
I want to draw text to a bitmapData and allow it to be rotated but rotating the text makes it disappear :(The code I am using resembles something like this :
var tf : TextField = new TextField(); tf.text = "testing"; var mat : Matrix = new Matrix();
I need to display antialiased systemfonts (because the swf filesize must be small, therefore i can't embedd fonts). So I wrote this script in order to manually antialias the text
Code: public function renderTextField():BitmapData{ var w:int = this["mainTextField"].textWidth+10;
-a container sprite that holds a bunch of sprites being used as buttons (listening to their onMouseOver, out, down, etc etc)
-a class that takes a bitmap snapshot of this container sprite onEnterFrame.it seems that doing a draw of that sprite onEnterFrame and then rolling over a button, causes it to fire rollover and rollout events repeatedly even without rolling off the button! it is definitely the draw that does it because if i comment it out it stops.
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.
This is somewhat of an unusual topic, but hopefully you guys will have a reply that will allow me to go on. I am working on a 2D game following an unusual workflow that is very much 3D based. The workflow is 3D based but the game is flat! This is very important: Graphics are flat images.
Here's the general question. I need a Flash library that loads and is able to deal with 3D models, orient them and convert them in various ways to 2D BitmapDatas. Do you know anything that can do this? To elaborate, I was thinking of the best possible workflows for myself and artists' needs and there is one that I would really enjoy but need serious help to break through. Here it is: Import a textured 3D model from 3DS Max or other similar tools, into Flash At runtime, orient the model the way I want and draw it to BitmapData as a flat 2D colored image. This image is what is supposed to be displayed ultimately. Ideally there shouldn't be a need to display the model at all; just like you can draw MovieClips into BitmapDatas without adding them to the display list. The 3D model is non existent to the user, it's only a workflow convenience for developers, it's a data holder as well as a means to reduce file size.
- Still at runtime, I have to be able to generate a height map: Basically a BitmapData entirely black with, instead of the real texture, a gradient along the 3D Y axis that would have the same 2D shape as the model under its current orientation (i.e. it overlaps perfectly with the flat 2D colored image we made earlier; let's call colored images diffuse maps.) Remember it's along the 3D model's Y axis: If it's a character and its orientation makes the model's shoulder have the lowest Y 3D coordinate while his hips are the highest, the gradient will start from the shoulder. (i.e. it's not always "feet to head", depends on the model's orientation.)
I got serious issue while using adobe flash media server (I have media server streaming license). It doesn't allow flash clients to make stream's screenshot (with BitmapData.draw) because this is restricted from server side by default. I found that this trouble can be resolved my updating main.asc file but it seems like replacing main.far with mine main.asc causing error. Could you please help me with resolving this issue because it's extremely important to allow this screens making for user.I used CentOS 5.3 and FMS 4.0.1 r2009 (instaled in /opt/adobe/fms include Apache 2.2). All video is stored in a directory /opt/adobe/fms/applications/vod/media and I put the main.asc file in the directory /opt/adobe/fms/applications/vod/ from the directory /opt/adobe/fms/samples/applications/vod.
I am using the floodfill method to colour-in sections of a bitmap image. That part is easy enough but the issue comes in with the way I am adding an effect to the colour fill routine.
To add the effect, first a copy of the bitmap data is created and floodfill is used on that instead of the original bitmap. Then the bitmapdata.compare method is used to set the alpha value of everything apart from the filled-in section to 0 and the result is saved in another bitmapdata. After that, a 1 px radius circle sprite is added to the stage and is being tweened to the image dimensions and its mask is set to the sprite which contains the result of the compare operation.
This works perfectly except for the fact that the fill sprite has to be tweened to the complete image dimensions irrespective of how small the area is being coloured-in since I am not able to find a way to get the dimensions of the fill area. I am doing an bitmap image update at the end of the tween and I have to disable user interaction till the tween is complete to avoid the errors which come in if another fill-in operation is started before the base image has been updated. If I could somehow get the dimensions of the fill area then the time during which I have to disable the user interaction will go down considerably.
the problem may be a simple one but I can't figure it out. I have an image loaded into BitmapData. now I want to take text from a textinput and put it on the BitmapData. Basically it's drawing a text on the BitmapData and get the result as another BitmapData that will consist of the original BitmapData with the text drawn over it on a specified position
When is a Bitmap not a Bitmap ?I can apply (using Sandy) an image as a texture :
var material:BitmapMaterial = new BitmapMaterial(new myImage(1,1)); myCone.appearance = new Appearance( material ); I can trace an object and form a bitmap :
I am trying to copy an image.The green stuff on the first image is a mask(which is not set, its just there to show it)Everything works fine when I dont set a mask to an image (picture 1)But when I set the mask I get picture 2.What I want is to copy a part of the image which is visible when the mask is set. I know what size the mask and image are going to be so I can calculate the size of the area which i need to copy.This is the code I am using, image has registration point in the center, thats why i use matrix.translate (not sure if its the right way).Also there is no image scaling applied (there might be later), thats why I am using matrix.scale.
Code: var _reflectionHolder:Sprite = new Sprite(); addChild(_reflectionHolder); _reflectionHolder.y =_targetObject.y + _targetObject.height / 2 + 10;[code]......
I'm building a flickr application in flex at the moment but i keep getting sandbox errors when i invoke BitmapData.draw();.After doing some google research i found that the proper policyfile needs to be loaded.i do this using: Code:Now this still doesn't resolve the issues. Upon further research i found that i need to check the policy file first using checkPolicyFile = true;
I'm trying to use images from wikimedia to tile a shape, but Wikimedia does not use crossdomain.xml files, so I get a security error whenever I try to do anything with BitmapData.draw().