ActionScript 3.0 :: Remove Transparency In Bitmap?
Jul 7, 2010
i placed png file inside movie clip... when a event trigger the image there should pop up appear.. main thing is the event should not trigger in the transparent image area.. using as3..
I want to apply transparency to a non-transparent logo then add it to an image. So I change the alpha of the logo, then I draw() the logo on the image. But it doesn't work, the transparency isn't applied as expected.
Note: I will later save the resulting bitmapData to a file, so an addChild() won't be enough to solve this.
var image:Bitmap; var logo:Bitmap; //... logo.alpha = 0.3; image.bitmapData.draw(logo);
For a class project I'm working on "Pissed Off Pigs" (I think you get the idea, the pigs get revenge, don't worry, I'm not going to release it!) and I want to create circles with a fill from a bitmap (circles because the collision math is easier). Here is how they look now.
Of course, the white is the problem. Below is my "pigs" class. I've tried gif's, pngs, 8-bit pngs, etc and it seems to make no difference. The image itself is 20px square and the radius of the circle is 10px (so a 20px diameter). Here is the image I'm using:
And I know I should probably load the image outside the class and just pass the BitmapData when I make a new pig so I don't have to load the image every time I create a new pig but for now it works! (Sorta).
Oh, and I have checked bmpImage.transparent and it returns true (even when I don't specify true in the constructor).
Does anyone know if in AS3 it is possible when using a png as bitmap and you wouldadd this to a sprite. And when having an MouseEvent Listener to this sprite to ignore the transparency of the picture? I am hoping that this is possible in AS3, because in AS2 it was not possible.
I need to find a way to copy a masked bitmap. I have a bitmap on stage, and a user drawn sprite that acts as a mask. I need to capture/copy the masked area bitmap, maintaining the transparency created by the masking to eventually encode as a png.
I could find no documentation on how to accomplish this using copyPixels(), or any other directions.
I have added a bitmap in movieclip using attachBitmap in my Flash Actionscript 2 project. Now i am having trouble to remove bitmap that is created once. If anyone can give idea how can i do this.
I am very new to ActionScript programming, and I am using AS 3.0. I am attempting to create a drawing that constantly needs to be updated. The drawing is a graph based on arbitrary, constantly changing, data points.Each frame however needs to be redrawn with a new bitmap. How do I remove the old bitmap before I display the new one ? I have tried using remove child, but when I do, nothing at all is displayed.
I was wondering if there was a way to remove the white space from an imported image using ActionScript 3?My ultimate aim is to be able to upload an image through flash (and .net) then load the image into flash and remove the white backgrounds.E.g. if your designing a t-shirt, and want to upload a logo, you would want to get rid of all the white that comes with your image around the edges to just leave the logo on the t-shirt.
I am adding a bunch of bitmap data (images) inside a canvas bitmap (using copyPixel) which is added to the stage (addChild(cavasBitmap)) how can I remove a bitmap data from a canvasBitmap?
I tried to drag in from Photoshop a layer with an image and transparent background, but it turns white in Flash, so I imported the image from psd. However, the black background is interfering with the placement of the image. In OLD flash, there used to be a magic wand and the ability to select areas of the bitmap and delete, but it seems that the feature is now missing or hidden in new flash. I turned the image into bitmap and I don't want to trace it, because it is a photo. So, without tracing, how do you now edit the image as I'm trying to do?
So I have a BitmapData object that's 400x400, and is mostly transparent with a small area (up to 50x50) of color somewhere inside. That's drawn to a bitmap, and now I somehow need to generate a Sprite that is only the dimensions of the small colored area, and sits in the same place on the screen.The size and position of the colored area is variable, and the operation to create the new Sprite must be near-instantaneous, so no lengthy pixel comparison exercises.
2: Without altering it,I make a copy of it and use it display to users in resized format
note: I won't display the original image.
3:Now when user deletes the resized image,i need to delete the image loaded as bitmap i.e. the original image which i won't be displaying
For that I used bitmap.bitmapData.dispose() method.But,it doesn't free up the memory taken by the bitmap.For instance at initial state the memory usage is 58 Mb and upon loading 3 images the size increases to 87 Mb.And when I delete all the images the size decreases to 81 MB only.
2: Without altering it,I make a copy of it and use it display to users in resized format note: I won't display the original image.
3:Now when user deletes the resized image,i need to delete the image loaded as bitmap i.e. the original image which i won't be displaying
For that I used bitmap.bitmapData.dispose() method.But,it doesn't free up the memory taken by the bitmap.For instance at initial state the memory usage is 58 Mb and upon loading 3 images the size increases to 87 Mb.And when I delete all the images the size decreases to 81 MB only.I feel the loaded bitmap is not completely removed.
I'm cutting my teeth in actionscript 3 on a game that has a character running through a world. So, I have set up my Hit Testing by using the bitmap data hit test method, since I figured my world is going to be destructible - it'd be nice to update the level and then redraw it and have the character interact with the new change. (That works beautifully) I am however; a bit confused as to how I have my hit Testing set up. I've been messing around with it, and it works for now - but I'm not sure why.. currently, I have a character set up by using a class I built and using a series of animations I created. So, this character has a walking and falling animation, etc. This is a movie clip.
Then there's a bitmap 'emptyBitmap' with bitmap data created - however; I never really added this as a child to the character. This is sized to the dimensions of my character. My level is created as a movielip, then it's drawn to a bitmap - when the level movieclip is changed, the bitmap redraws, and that's how this updates.
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 have a BitmapData that's already been drawn onto a Sprite. Is there a way to redraw the BitmapData onto a Sprites Graphics object without having to invoke beginBitmapFill and passing in the same BitmapData?
I'm working on a game, and to keep performance good, instead of addChild'ing 50 new sprites to the stage every second, I decided to have each player draw to their own bitmap, and then to the 'master' bitmap. This introduces an issue though: the second player would override all data the first player has put into to bitmap...My basic debugging proof of concept:
I have a bitmap which has several frames (packed along the horizontal axis). In order to render them I copy it to the backbuffer (larger bitmap) as follows:
Actionscript Code: public override function copyToBackBuffer(db:BitmapData):void{ if (active) var drawRect:Rectangle = new Rectangle((currentFrame-1) * frameWidth, 0, frameWidth,
In pure AS3, I have a pixelbender and a large bitmap. The pixelbender is configurable with a distance parameter to affect only a small area of the bitmap. The problem is that the pixelbender is executing over the whole bitmap. What would be the best way to update only the effected region of the bitmap? Given this config:
Is there a way to write a bitmap font right into the bitmap being desplayed? Mabey better worded: myBitmap.draw(image, t) draws a picture is there a way to draw text? I'm stuck even if its just a work around in some way I would like to know... (the current work around i have in my head is writing it in a movieclip turning that into bitmap data and drawing it... esentially creating a prototype answering my question... but a built in way would be easier probably).
In AS3, I am loading a png from a zip file (nochump's zip library through ByteArray to Loader). The png can be up to 45k pixels wide but only 120 tall. This creates a problem in flash, as images can only be ~8000 pixels wide. A possible solution would be to split the images into 6 columns somehow. This would probably need to be done in the ByteArray state, because the limitation is in Bitmap and Loader.
I'm using Sandy to animate some objects in 3D. What I currently do to images which are EXPORTED in the library, I want to do to some bitmaps that I create using the DRAW technique. But it wont work :-(
CODE FOR 'CREATED BITMAP' : ActionScript Code: var bData:BitmapData = new BitmapData(myObject.width,myObject.height); bData.draw(mask5);
[Code]....
Sandy doesn't seem to treat the 'created' bitmap the same as those that are exported from the library.
I haven't worked very much with bitmap manipulation and I need to create an app that can find a bitmap (or a pattern of pixels really) in another bitmap.Are there other methods of doing it besides iterating through the pixels and using getPixel()?I'm of course looking for the most effective solution.
I'm creating a DressUp kind of game using only external .png files for items (such as dresses, hair styles, bags etc).Some of my image files have transparent space left/right of the drawing itself. What I want to do, is set the hitArea of that certain movieclip (which contains the .png file) only to the visible area (to the actual drawing). This would be a fairly easy job if all the items had have the same size, but sizes are different from item to another.Taking the attached image, the grey area should not respond to mouse events.