Actionscript 3 ::- Flash - Draw TextField To BitmapData With Rotation?
Sep 21, 2011
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 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 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?
i need to do something like the swf file am attaching instead of the cube revolving... i need to draw my own image. how to bring this effect in flash. as if now, i have created the cube rotatoin in swift 3d and have exported it as a swf file. also can we draw our own images in swift 3d? (instead of the readymade cube?)
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 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 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 just recently started playing with cs5 and it's new features. I tried to rotate a textfield with the 3D rotation tool, but when you do this, the textfields gets blurry.And it seems like it's not a vector text anymore, because when you zoom in, it still is blurry.Is there a way to prevent that?
I'm having some problems manipulating an image with AS3 and Flash Player 10. I've managed to edit a Bitmap from a local image by changing it's size and rotation with the help of class Matrix. The problem is that now I want to save the new image to the disk as a PNG file. I'm using a PNG as encoder that requires a BitmaData. When I passed that Bitmap.bitmapData all of the matrix changes do not get reflected in the bitmapData.
I'm trying to convert a Sprite that I have into BitmapData so I can perform some collision detection. There are a few things about the way the Sprites are used that is making this more difficult than I expected:
The Sprite itself is a container which holds another Sprite that actually has a box drawn in it. The inner Sprite is positioned negative half its width & height so that it can be rotated from the center via the container. The container may be rotated at any angle at any given time
So my approach thus far has been attempting to draw the outer Sprite onto a new BitmapData object with a Matrix to account for the difference. Whilst I can use a Matrix to make this work for one particular rotation angle, I cannot find a way to make it work for any rotation.
Here's what I'm doing to draw onto the new BitmapData:
var p:Product = getProduct(); // Product is the container with the inner sprite var bounds:Rectangle = p.getBounds(stage); var bd:BitmapData = new BitmapData(bounds.width, bounds.height, true, 0x00FFFFFF);
[Code]....
Translating by the same amount as the previous example will no longer work here, and the box will still be cut off. I've looked around at some solutions posted before or suggestions from other people but they don't seem to work for me due to my container Sprite and rotation.
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().