Actionscript 3.0 :: Calculate Difference Between 2 Bitmaps?
Jun 13, 2009
i'm trying to calculate the difference between 2 Bitmaps.One bitmap is an external image, with only black and white.The other one is a bitmap created by AS3 and filled with red.The external image has some basis shapes on it, now in flash i want to know where these shapes are and create a movieclip out of them so i can later use it.Now what i've done is created 2 bitmaps for the image, and 1 sprite to try and make those movieclips.The thing that i have now is this:
Code: Select allthis.trackBmpd = new BitmapData(loader.width, loader.height, true);
this.trackBmp = new Bitmap(this.trackBmpd);
this.trackBmpd.draw(this.loader);
[code]....
But here i'm kinda stuck, i use the blendmode to see what the difference is, but how can i use this blendmode to create those movieclips out of it?
I am trying to create a 30 day trial period limitation in Flash CS3. I am having a problem with checking the number of days. I am using zinc mdm to get the date of an external file. Following is the code I am using.
var d1:Date = new Date(mdm.FileSystem.getFileDate("c:\myText.txt")) ; var d2:Date = new Date(); //(Date2 - Date1)/
I have to validate that 1) the end Date is not less than the start Date and 2) the difference between the two UTC Dates is not more than 12 months. To do this, I need a monthDifference function:
public static function monthDifference(start:Date, end:Date):int;
Since partial months can be confusing, this is how month differences are supposed to work:
The month difference between January 1, 2010 and January 31, 2010 is zero (0).
The month difference between January 31, 2010 and February 1, 2010 is one (1).
The month difference between January 1, 2010 and February 28, 2010 is one (1).
The month difference between January 1, 2010 and March 1, 2010 is two (2).
How can I calculate month difference in ActionScript 3.0?
I'm trying to figure out the best way to compare a single bitmap against perhaps an array of saved bitmaps to see how close of a match it may be to any one of the bitmaps stored in the array. Right now I'm running a for loop that uses the bitmapData.compare() method to try to compare to see how much of a variance there is but... to be honest I'm at a loss as to how to use the resulting data to do so. Does anyone know of any good method to accomplish what I am trying to do? Forget looking at my code it's a waste of time because simply, it's not working.
I as this working in AS2 and need to update to AS3...shows that AS3 doesn't like sloppy coding. Here's what I need: I pull data from an XML and that works when I put the data into a dynamic text box. However, I can't seem to get the date of birth into a variable. I have some code that calcs age in years but uses a string literal that I thought I could just replace with a variable from my XML...ain't a workin'. Here's the code I have:
I have a movie clip that I add Bitmaps by using addChild(). I was wonding how would I go about displaying the next image that I added because as of now it is stuck on the first image.
I was wondering which method would be the most efficient (run faster)...Lets say I have multiple layering of animations, say a moving sky, then birds, then fireworks ordered respectively. Is better to have one bitmapdata (called BD) then do a copypixel of sky, then bird, then firework at every tick (I'm using a timer) and put it in one bitmap.
Or is it better to have 3 bitmaps (and put into 3 different sprites) with the animations separated, so when I update the birds I don't have to update the sky.share any knowledge on pros or cons of using multiple bitmaps vs using one bitmap in that situation. Aside for the increase of initial memory used.
I'm loading some external images and trying to get them to smooth, but for some reason it's not happening. i've been trying everything i can find on the internet over the past 10 hours or so, and nothing's worked.The code on my movieclip (first frame) is:
[code]...
my images are very high-res, so i know it isn't a resolution issue. anyway, they look crappy when they're sized down too. also, i'm pretty sure smoothing is the issue, because i have a very similar image in the library (a detail from the same shot, and similar resolution, etc.), and it looks great when i allow smoothing in the bitmap properties panel.
I have a Bitmap where I can draw on. After some seconds I want to let the drawing fade away and blend over to the original picture/bitmap. Can I do this with the blend mode by drawing the original bitmap on it? I tried something like this and of course it isn't right. Just copying the alpha channel if I get the documentation right.
dstBitmapData.draw(srcBitmap,null,null,BlendMode.ALPHA,null) dstBitmap = new Bitmap(dstBitmapData);
I want to put some percentage to the destination bitmap. So that after doing this some frames the original picture will be visible. As the user can interrupt this by start drawing again I want to use the BitmapData object dstBitmapData.
I wish to add some 3D bitmaps to my 2D game. Everything is currently drawn via copypixels into the only movieclip and that is rendered. Am I correct in that I need to create (for example) a sprite, add a bitmap to it, perform all my 3d transformations and then simply .draw the result into my bitmap? If so are there any simple examples of doing so, also what about camera, focal length, perspective etc. etc. Are they taken into account before the .draw?
I have a jpeg that I have exported to actionscript via the library. The jpeg class is "adcouncil". If I want to add it to the stage I would use the following code:
Code: var adcouncil = new adcouncil1(150,150); var myImage:Bitmap = new Bitmap(adcouncil) printMC.addChild(myImage);
The problem is that I want to ad these Bitmaps to the stage dynamically. My first instinct is:
Code: var adcouncil = new this["adcouncil1"](150,150); var myImage:Bitmap = new Bitmap(adcouncil) printMC.addChild(myImage);
Trying to add EventListeners to Bitmaps.Can I add an EventListener directly to a bitmap?If I load an image to a UILoader then addEventListener to the UILoader instance that works just fine, but if I use a Bitmap instead, nada...I could load the Bitmap into a Sprite and add the EventListener to that, but would prefer the direct method...
Sometimes I have a problem publishing to an xfl file. The bitmaps in the library do not save with the xfl save to the LIBRARY folder. I've tried resaving as another .fla before re-exporting as an xfl. but I do not seem to find the proper way to overcome this?
I'm having an issue where after 24 bitmaps are placed inside a sprite, the first bitmaps start to disappear. When the last added Bitmaps get removed from the display list, the older ones start to reappear. Go here and check it out: http:[url].... draw 24 dots or whatever with the pencil tool (the only one that draws to a bitmap). You should notice that the 24th dot will cause the 1st one to disappear. Undoing (which simple removes the top bitmap/sprite) causes the 24th one to be removed (which is correct) but the 1st one also reappears which means its still there just not visible .Here are the relevant methods:
Code: private function nextShape() : void { newShape = new Sprite(); newShape.mouseEnabled = false;[code].....
I'm confused by a tip in Adobe's own documentation that says:Avoid using gradients, because they require many colors and calculations to be processed, which is more difficult for a computer processor to render.I understand how this would be true in a vector shape fill, but they aren't specifying vector. It seems to be implied they include bitmaps too, since the next couple tips are bitmap related.If they do in fact include bitmaps in this tip, can someone explain to me how this is possibly true? In a bitmap a pixel is a pixel. I don't see how it matter that the pixels form a gradiated color or not, the software still has to read and write each pixel regardless.
I'm looking for a good method to resize bitmap images to fit within the constraints of a container object whose size will change based on the browser window dimensions, etc. Basically, it needs to scale to fit. I'm using the following for resizing by height. "largeImage is a bitmap object.
I would like to have a SWC file with many bitmaps stored in it, which can the be called and loaded dynamically when they are needed.The SWC has been made, with the Bitmaps set to export.In my main class I am running into trouble trying to access these classes.Different sources are offering different advice, could someone advise the best way to gain access to these classes within the SWC, and the best way to access the SWC from within my file.URL]they offer a solution which involves having to statically name the classes at runtime (these arent exported bitmapdata classes but same idea)this second link is a person describing a solution to the problem described in the first link. His solution involves what appear to be either flex or command line compiler directives
I'm working on a flash website that consists of 3 frames (1 = preloader, 2 = instances of symbols, 3 = the main page/view). I've gone through and optimized all my static bitmaps/movieClips and removed any symbol that I've exported for ActionScript from exporting in the first frame. Even after all these steps frame one is still the longest to load (797kb on a 32.6 kbps simulated download), only showing the preloader when the whole file is at 86% complete. Any further steps to take to get frame one's size down?
I've imported 29 bitmaps into my library (gifs, each one 1728x1152, size ranges from 4-14kb, in each case the vast majority of the image is transparent). I add each one to the stage in the following manner:
var img1Data = new img1(1728,1152); var img1Map = new Bitmap(img1Data); containerMC.addChild(img1Map); // MovieClip to which all of the bitmaps are added
I has a series of bitmaps which have been broken apart in flash, I want to know if it is possible to go into these bitmaps using their bitmapdata and edit them based on information on the arrays that I get. I.E. I want to delete the transparent pixels each one has.
Obviously I can do this by hand in photoshop or just using the lasso tool, but I have several thousand bitmaps that I have to edit, so I'm hoping theres a way to do this through code.
i've used a Loader and URLRequest to download a .png from the internet and add it to my display list. since it's already a bitmap, does it have built in bitmap data already? or do i have to create the bitmap data myself?also, why does the same trace statement return false in the mouseMoveHandler when it outputs true in the displayImage function?
var imageLoader:Loader = new Loader(); imageLoader.load(new URLRequest("http://somewebsite.com/image.png")); imageLoader.contentLoaderInfo.addEventListener
I would know if with AS2 it's possible to load programmatically a bulk of images and save them in an array; then how to attach programmatically each image to an empty movieclip.
I know how to do this in AS3 however it seems impossible in AS2.
I'm trying to position an image on top of another image based upon the make-up of the smaller image. The smaller image is a cut-out of a larger image and I need it to be positioned exactly on the larger image to make it look like a single image, but allow for separate filters and alphas to be applied. As the images are not simple rectangles or circles, but complex satellite images, I cannot simply redraw them in code. I have quite a few images and therefore do not feel like manually finding the position of each image every and hard setting them manually in actionscript. Is there any way for me to sample a small 5-10 sq. pixel area against the larger image and set the x and y values of the smaller image if a perfect match is found? All the images are in an array and iterating through them has already been set, I just need a way to sample and match pixels. My first guess was to loop the images pixel by pixel right and down, covering the whole bitmap and moving to the next child in the array once a match was found, leaving the matched child where it was when the perfect match was found.
Alright I'm programming in actionscript 3, using flex as a compiler. I have an 16x16 large PNG file that is basically a square outline like this:But in more noticeable colors.
I want to draw an 11x11 grid of these squares, so I use these for loops: for (i1 = 0; i1 < 11; i1 ++) {
I'm working on a project which draws circles continuously at framerate and animates them around the stage and I'm running into performance issues.
I'm already converting all objects to bitmapData as soon as they become static. My question is, will converting the circles to bitmapData as soon as they are drawn increase performance? In other words, is animating say, 200 bitmaps (with transparency) faster than 200 vector circles?
Are there any drawbacks to this technique? (I'm thinking opacity problems maybe?)
If they were more complex shapes than circles would the answer be different?
I have a bunch of Bitmaps stored in the library and I want to display some of them on the stage via actionscript. All I need is to attach each of them to a MovieClip and use addChild() on the stage. Also I want to be able change the attached bitmaps dynamically.
I've done this before with SWFs and haven't had a problem. Am I doing something wrong or is it because the loader is loading a bitmap? Notice in the code that after you assign the image as a Sprite, the sprite traces null.
How do you load an image and be able to manipulate it as a Sprite (modify it's x & y properties, get it's width, etc.) once it is loaded?[code]...