ActionScript 3.0 :: Getting BitmapData With Masking Pixels?
Mar 9, 2011
I'm trying to create a BitmapData object from a movie clip, but I need to also get the pixel data in a layer that has been set as a mask in the authoring environment. All I'm getting is the masked in pixels, but I also need the mask itself, and I'm can't seem to find a way to do it.
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 have a PNG file with transparency imported into the library and converted to MovieClip.Now I want to use this PNG file for masking another sprite drawn dynamically using the drawing API. I know that you cant mask a runtime generated sprite with a author time movieclip. So i created another runtime sprite and copied the BitmapData of the PNG in the library to it. The masking happens, but not the way i want. The BitmapData is always a solid box and the masking apears across this box. I would like to have the transparent region of the PNG omitted from the mask data
I need to create, from a given Bitmap/BitmapData of a PNG file which has transparent and semitransparent pixels, another BitmapData which is a copy of it, but all the pixels (well, the pixels that are not alpha 0% actually) must have a specified grey color value (0xdddddd).
Let say I have a BitmapData with different pixels representing an object, and some black pixels around it that I want to remove.I would like to obtain a new BitmapData, with width and height of the object represented by non-black pixels.For example, let say I have a BitmapData 400x400px, but the object represented by non-black pixels occupies the rect: x=100, y=100, width=200, height=200. I want to get new BitmapData representing that rect, all black pixels should be removed. Of course, i have no coordinates for that rectangle, i need somehow to make difference between a full black bitmapdata and the original one, and construct a new bitmapdata (different width and height).
I have a map (map of a mall, top view) with some colors. I´m removing the part for walking of the map, which has a type of color (say 0xcccccc).
I got all the 0xcccccc color pixels removed (setted to another color), but it seems to remain a bit of gray at the walking part.
The color of that bit it´s close to 0xcccccc. It looks like flash not succeeded while removing the walking part. But instead, leaved some parts (like borders or something) on the bitmapdata.
I´ve tried to remove by script, by picking the colors remained on the bitmap, but the loop doesn´t find these colors.
What I have setup right now is one movieClip that is being used to be drawn into a BitmapData object. That bitmapData object is being drawn on the enterFrame and I am needing to clear it so it doesnt have the previous enterFrames information still stored in it, then once it is clear draw the current information. Is there a simple way to clear or erase all the pixel information in the BitmapData object?
If there is a way to set the alpha of the pixels I would really like to know how that is done as well. However, I want to change the alpha level of the entire BitmapData object, not just a few pixels.
I have a list of images, and without scanning through each pixel in each image, I want to find out if the image contains transparency (at least one non-opaque pixel).Is there a shortcut to do this (like a property of bitmapData object) rather than looping through the pixels?
Having trouble trying to scroll BitmapData on a half pixel here is my original code
var speed:Number = 1; _bitmapData.copyPixels(_backgroundParallax, _screenRect, _zeroPoint, null, null, true); _backgroundParallax.copyPixels(_backgroundParallax, new Rectangle(0, 0, speed, _backgroundParallax.height), new Point(_backgroundParallax.width-speed,0), null, null, false); _backgroundParallax.scroll( (speed*-1) , 0);
which works until i change the var speed to .5, which is because .scroll method is expecting int's so i replicated what scroll is doing to try and allow .5 pixels
I am using bitmapData and bitmap classes to render a mouse cursor on the display screen. The bitmapData consists of an area whose colors should be inverted according to the background color. This is a very basic thing which could be observed with text cursor(the vertical line with two small horizontals on top and bottom), when moved over the text area. want to be able to do the same with the pixels in my bitmapData, is there a way to find out the background color effectively and invert the color values? In this process i will be redrawing the whole pixels, is there any other efficient way to do that ?
im trying to draw opaque pixels on a transparent bitmapdata background
heres the ex:
ActionScript Code: //TRANSPARENT BACKGROUND var _pixelColor:uint = 0x9998002E; var _bmpd:BitmapData = new BitmapData(4, 7, true, 0x00333333);
[Code].....
This example paints 2 arrows, the first is using the transparent background, and the second is using an opaque background on the BitmapData.
What I'm trying to achieve is to paint the pixels of the arrow completely opaque on the transparent background. But as you can see, the pixel is at 99% of its opacity (var _pixelColor:uint = 0x9998002E) How can I paint 100% opaque pixels on a transparent BitmapData "canvas"?
I am trying to use the bitmapData.setPixels method to set certain pixels in the bitmap transparent.But no matter what I do, it always seems to set the pixel(s) black (non-transparent).Here is my code:
[AS] bmpd = new ImageFromLibrary(0, 0); bmpd.setPixel(0, 0, 0x00000000); [/AS]
I have a swf file that loads into my main movie, and within that swf there is a masked image that i would like to scale using zoom in and out buttons and also by using a slider bar.However i cant find any tutorials that will allow me to combine the two.I have used the following code for the buttons. Which seems to work ok but i would like it to be a little smoother. (using speed or some sort of easing??)
I have a movie clip called column1_mc. when I click a button I need to move the movie clip in incremental moves consisting of 30 pixels.
column1_mc._y = 30;
Does not work because that is giving a _y coordinate.For example.I need to make the movie clip jump to _y 300 but make 10x30 pixel incremental jumps. Moving 10 times 30 pixel jumps.
When I publish the file, I'm getting the following error message in the Output panel:
**Error** Scene=Scene 1, layer=Layer 2, frame=1:Line 7: The class or interface 'BitmapData.loadBitmap' could not be loaded. var plaid:BitmapData.loadBitmap("plaid");
I am trying to use the reflect class from "http://pixelfumes.blogspot.com/2007/03/reflection-class-v3-with-source .html" but I keep getting this error:
ArgumentError: Error #2015: Invalid BitmapData. at flash.display::BitmapData() at Reflect() at Site_fla::GalleryPage_29/loadThumbs() at Site_fla::GalleryPage_29/sortXML()
[Code]...
btw, first I used assigned thumbContainer as the mc argument (outside the loadThumbs() function) and it worked but not exactly what I wanted... because I thought it is supposed to update when the movieclip is animated but it actually didn't... when I use a scroller, only the thumbs that are first loaded to the stage get the reflection..
how to use the bitmapData collision method. Now I'm trying to figure out if there is a way to see at what angle or coordinate of the bitmapData the collision happens? I need it in order to figure the accurate bounce angle after the collision occurs.
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've made a mobile version of my software, with low-res images and such, and I can now fully buffer all my content (including a 360 frame animation which is buffered to memory). Problem is, that everytime I update the view, more memory is used.When I write image = new BitmapData();, does it store the previously created BitmapData's in memory? Do I have to flush the memory somehow before I draw my second picture in BitmapData?Example:
ActionScript Code: // In this example I draw using the same bitmapData several times, also //overwriting the first image. Do I have to somehow delete the data first, to
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.
The title might be a little misleading. Look at my code and I will explain
public static function loadTile(tileDir:String = "empty"):void { if(tileDir != "empty") { tPoint = new Point(0,0); tRect = new Rectangle(0,0,30,30);
[Code]...
I am trying to do tiling with sprites. I want my tiles to be interactive, so that is why I am using the sprite object instead of using regular bitMaps to represent my tiles. You might be wondering why I wouldnt just use graphics.beginBitmapFill(tImage); and graphics.drawRect(0, 0,tWidth ,tHeight ); to pick out the tiles I want to use. Well reason being is because it turns out that drawRect() first and second parameters actually alter the location of where the actual sprite sits at.
So if I set the x and y properties of the sprite to x = 20, and y = 20. then I set my drawRect(20,20). it actually adds an extra 20 pixels to my x and y coords of my sprite. And I know the reason why, I just need to know a better way.
I need to cretae a flash banner for a footbal marquee that is over 12,000 pixels wide.how do I make the stage that big? when I try it says I can only make the stage 8,000 pixels wide
i made a masking anim using frame by frame animation on the mask layer...
when i exported the swf it was of 83 kb (too huge) and i checked it was all due to shapes in the mask layer....
i found "eltima swf optimizer" on internet but it gives only black and white output in the demo version ....
i opmitized all shapes one by one by using modify>shape>optimize using 100% optimization but when i exported swf this time was 114kb(even more) this sux!!!
my question is that is there any other "swf optimizer" that i can use for free.. (hey its my school project and i just need to mask a single jpeg)
I posted a message a while ago about creating a spotlight effect over a background and it was suggested that I use masks to create the desired effect. This worked fantastically.... until now lol. I need to mask both the background image AND some randomly generated on-screen objects. Whever I try to add the mask to the objects generated at run-time, it ceases to mask the background as well!
I should probably have expected this one... but was just wondering what was the best wat to get around this? Should I create 2 'spotlight' objects which directly overlap each other, but have one set to mask the background while the other masks everything else? Or is there an easier approach?
Lets say I have 3 layers A, B and C. I want A to be the mask for B which is pretty easy, but at the same time I want B to be the mask for C. Is that possible?
Is there a way to make Flash work with masks in the same way as in Photoshop?In Flash, for a mask layer to work, it needs to be in shades of transparency.In Photoshop, you can use a fully opaque mask layer, and the mask is applied by using the different shades of black and white.