ActionScript 3.0 :: Loading A Display Object Into A Bitmap?
May 13, 2010
I am trying to load an sprite into a bitmap, but cannot get the sprite to fill the bitmap. Here is the results I am getting: [URL]
here is the applicable part of the code I am using that gets these results:
function(){return A.apply(null,[this].concat($A(arguments)))}addChild(container); //add sprite to see true sizebd = new BitmapData(container.width,container.height,false,0xff0000); //colored for effectb = new Bitmap(bd);bd.draw(container);addChild(b); // add bitmap to compare to sprite
I know the topic of "duplicating" movieclips is a hot issue with the new virtual machine. Luckily, I understand the implications. I only am [currently] interested in duplicating a Bitmap. See, I load an image from an URL using 'flash.display.Loader.load', which is a non-blocking operation in Flash Player.However,I may use multiple copies of the loaded image (which is reported to be a Bitmap, naturally) in the display list at the same time.Hence, I naturally do not want to load the image from an URL every time, because I don't want to wait for a non-blocking call to complete. Nor do I need to - I mean one copy is already loaded, so it should be possible to just "duplicate" it, right?
My idea is to do use the bitmapData property of a Bitmap and pass it to the constructor of a new Bitmap object. I have not tried the following in action, but I want to hear whether any of you did and if the following would not work, what would:
Code:
var original_bitmap: Bitmap; var copy_of_original_bitmap: Bitmap = new Bitmap(original_bitmap.bitmapData);
LiveDocs mention that the BitmapData being passed to a Bitmap constructor is "being referenced", which to me might suggest it cannot be used twice? There is also the BitmapData::clone() method, which I am not sure is applicable here or not.I know this is a lot of talk instead of just trying this out, but I test so much Flash Player code daily just to see "what works" (which should be documented instead by Adobe),
If I create a rectangle with 100px width and 100px height and then rotate it, the size of the element's "box" will have increased.With 45 rotation, the size becomes about 143x143 (from 100x100).Doing sometimes like cos(angleRad) * currentWidth seems to work for 45 rotation, but for other bigger angles it doesn't.At the moment I am doing this:
var currentRotation = object.rotation; object.rotation = 0; var normalizedWidth = object.width;
I'm trying to trace the path of an object by using setPixel on the object's position every frame in a BitmapData/Bitmap pairing. These pixels aren't showing up normally and I suspect I have a fundamental misunderstanding of the BitmapData class. Here's what I'm doing:
public var contrailBase:BitmapData; public var contrail:Bitmap; private var contrailColor:uint;[code].....
Using this code, the red pixels don't show up. If I initialize contrailBase to 0xFF000000 instead then I get a black screen on which the red pixels DO draw, but I need the bitmap to be transparent except for the contrail. What am I doing wrong?
I am trying to paste a bitmap (any bitmap) onto the stage. I just get the box outline on the stage. I have imported several basic bitmaps into the library. I tried dragging and copying and pasting but I always just get the outline. I don't know if it means it can't be pasted or there is a setting to display it. If I copy the same bitmap and paste into word for instance I do see the image.
I would like to display an Image using a Bitmap as source. I've looked at many websites and most suggest something akin to this but somehow it still doesn't work....img1 works fine... But img2 doesn't load for some reason.
private function onComplete(event:Event):void{ bytes = event.target.data; img1.source = _bytes; /*this last bit works*/[code]....
i just wanna know how I display a bitmap that I exported for action scriptinially i tried this
var myBitmap:NameOfTheClass = new NameOfTheClass(40, 40); addChild(myBitmap);
i got a error saying that is not possible to implicitly convert a BitmapData to a displayObject (or samething like that) so a changed the base class of the exported bitmap to flash.display.Sprite, but didn't work, the same error was generated.
When using Loader class to load display objects (bitmaps, SWFs...) from remote URLs, is there any way for them to be instantiated (referenced as we know, by Loader::content property) as some user specified valid subclass? For example if I had a class that extended a Bitmap, is there any way for the loaded object to be of this class?
In Photoshop there is a tool that lets you adjust the levels of an image. I'd like to be able to do the same thing. I've seen examples online that show the levels but they are for each individual color channel (red, green, blue or alpha or CMYK) but not a combined view like in Photoshop Input Levels (see below).Also, as a bonus is there a way to find the best shadow and highlight input level settings, basically the settings the Auto level button determines?Update:I think I'm closer but I'm not sure. Here is the method I pieced together. The first image is my results and the second is Photoshop results both analyzing the Google logo:Update 2:Ok I think I got it. The code is below. It's mostly working all the time, mostly. Additional credits:Photoshops results:
Levels method: /** * Get a histogram of the grayscale levels
I imported a image file to my library and exported it for Actionscript. Which it created a new class that extends the bitmapdata class. Do I create an instance of that data and pass it to a sprite and add the sprite to the stage so I can display the image when I compile the file into a swf? Ive tried that and get an error saying that I need two arguments. I guess im just not sure what to do with the bitmapdata class.
If you draw a movieclip (with a 3d rotation on it) to bitmap, eventlisteners will always dispatch rollout and rollover for that movieclip (on mouse over). A solution could be to set the matrix3d = null ,draw, and then apply the original matrix3d, but I can't do this in my project 'cause all clips is a 3d object to a parent 3d object that gets drawn to a bitmap every frame.
To see the bug, copy this example code into the first frame on the stage (CS4 flashplayer 10). var bmp:BitmapData = new BitmapData(100, 100); //setup a dummy bitmap var bmpContainer:MovieClip = new MovieClip; bmpContainer.addChild(new Bitmap(bmp)); var box:MovieClip = new MovieClip; addChild(box); [Code] .....
Can you make one Bitmap Object (I'm using an external jpg) or something similar, and then display it many times simultaneously without creating a separate object each time?
Also, would they be easily removed or hidden?
I've got a little checkmark jpg graphic loaded here, but I'm not sure how to go about using it in many places at once.. I can only display it in the one place at any one time...
I'm thinking there might be a way to load the picture once, then use its bitmapData elsewhere in new display objects somehow, without needing to reload the image over and over?
It's my understanding that a display object cannot be in the display list more that once.So if I add something to the stage shouldn't a second addition of the same object replace the first? for instance:
[code]...
there should now only be one "myDisplayObject" on the stage.
How can i cast a object to another type? in AS3 i tried putting (objectType) infront of the variable but it doesnt work, below i have added objects of fishes into the child, and i am getting the fishes back out when mouse down is triggered, and then calling the fishes what to do. however i cant call the method of the custom class fish because it is a displayobject.[code]...
I have spent quite a few hours looking into loading bitmap fonts to use and I cant seem to find anything on it. I have a bitmap font saved in a png file and I'm thinking I will need to create a new font, set the dimensions etc.
basically im trying to set a bitmap to follow an object i have.heres some code...
Code: override public function paint():void{ super.paint(); if(imageLoaded=false){ trace("loading image...");
[code].....
all the stuff in the loadImage() used to be where loadImage is called and it would run but would draw the image over and over leaving a trail so i moved it so it would only draw once but now it wont even work, tells me "Error #1009: Cannot access a property or method of a null object reference." which reffers to "mBit.x = super.px;".
I've got another simple question. I have a mc who's bitmap that is associated with him I want to change.
[Code]...
When BlankClip is first created, I want to tell it to either have the same image as Block_0 or Block_1. Looking it up online, it seems like I have to use BitmapData somehow, but I'm really unfamiliar with things...I've been working on this same code for about 2 hours...
So I have inherited this flash project which when completely published is basically a tutorial video for software. It is set up such that there is one large movie that loads other flash movies via actionscript (I guess).
The project was supposed to be designed so that it would be easy to make translated versions, so all the software UI items (File menu, tool box, etc.) are cut into pieces and in the library. In theory a person could go and just switch out the library graphics and presto, you have a French version instead of English.
While all these elements are in the library, you can never actually see them on the stage in Flash. When you publish the project, all the items are in place. I have hunted through the actionscript and don't see the images called up.
Does anyone know how these images are being called up into the actual final swf?
In the following application images are attaching from library as bitmap. But i want to load it externally.Actually what I am trying to do is that i want to divide an image in to several pieces and giving a disolve effect for transition. I got a code in which images are loading from the library as bitmap object. I changed it and loaded externally using bitmap, but i cant divide images in to small pieces. I think its due to the problem of loading as bitmap.i just want to modify the following code to load image externally.
I built a game that grabs a tileSheet (bitmap image) and some xml files from an outside source (not from the library). Turns out that this is a bad idea if I want to post my game on most sites. Cause majority sites only give me ability to load a single file. NOW, I need to figure an alternative. I tried doing the cross-domain thing but that is a pain cause I am running into some security issues in which I do not know how to get by. I made a seperate post for that issue, with my code in it. But now I need to know if there is some better hope.It makes sense that maybe I could load a bitmap image from the library.
I have a image loaded in a sprite, the image is from a remote location [URL]. Once the image is loaded in the Loader Object i then want to create a reflection of the sprite that contains the image. Now this works when i run the application in flash IDE but when i embed this flash application inside a HTML page the reflection images do not work. Why is this, the code is below.