Professional :: BitmapData Objects And The GPU?
Sep 7, 2011Are BitmapData objects automatically GPU accelerated for rendering, rotating, and scaling,or does the bitmap they connect to need to have cacheAsBitmap set to true?
View 1 RepliesAre BitmapData objects automatically GPU accelerated for rendering, rotating, and scaling,or does the bitmap they connect to need to have cacheAsBitmap set to true?
View 1 Repliesis there anything that will take a very large png (even larger then the total pixel limit of BitmapData) and load in the png as raw bytes into a bytearray and then take that array and grab only portions of the image to be able to generate a grid of usable bitmaps to render the very large png..I got to the point where I was able to get the png as a bytearray but from there I don't know how to grab a portion of the bytearray and attempt to load the partial bytes in a loader via loadBytes()..basically I think I need a decoder to decode the partial bytes to a bitmapdata.
View 2 RepliesHow to dispose bitmapdata objects that have no linkage. The thing is that I have bitmap pictures (PNG) wrapped inside movieclips (as you can't set linkage to PNG files with jsfl) and when I begin to load them into my movie from the library I can't dispose of them to free up ram memory, i've tried to use movieclip.removeMovieClip(); and movieclip.dispose(); but the bitmap inside still takes up ram! I use over 1000 pictures so i really need to dispose them... How to get linkage set to PNG files with jsfl??
View 6 RepliesI'm trying to know if you can copy the pixels of many objects in one BitmapData without a huge slowdown. The slow down is made by calling the method multiple times, thus making a lot of variable declaration and disposal for the garbage collector. If someone know how to either immitate the copyPixel method or have any other way of solving this problem,
View 4 RepliesI have two BitmapData objects with alpha channels. I'd like to combine them into a single one by using max(channel_image_one, channel_image_two) for each channel, including the alpha. Is there an easy way to achieve this result?
View 2 Repliesi have the following situation:
one drawing layer (graphics object with lineTo, etc.)
one png with an alpha channel (supposed to serve only as a mask)
now i want to be able to only draw lines within an area restricted by the png mask.
i am trying like this:
var bitmapData:BitmapData = new BitmapData( 320, 320 );
bitmapData.draw( drawingLayer );
bitmapData.copyChannel( maskBitmapData, new Rectangle( 0, 0, 320, 320 ), new Point( 0, 0 ), BitmapDataChannel.ALPHA, BitmapDataChannel.ALPHA );
now the borders get cut off fine, but i get a black background, since the drawing layer has an alpha between the drawn lines (and it should remain like this) and the mask bitmap has an alpha outside the shape. so naturally the mask's alpha replaces the drawing layer's.
i tried it with merge, copyPixels and also with just setting the mask property on the drawing layer (i set everything to cacheAsBitmap) but to no avail.
ADDITION:
when trying to use a mask i tried it with
<s:BitmapImage id="mask" source="@Embed(source='...')" cacheAsBitmap="true" />
and also as
[Embed("...")]
private const BodyMask:Class;
var maskBitmap:Bitmap = new BodyMask();
and assigned them to the mask property of a s:Group element (cacheAsBitmap=true) where the operations on the graphics object occured. i also tried reassigning the mask after each draw operation.
The code below is a simple add and save program. You press the addButton to add content to the canvas and than press the exportButton to save an image of the canvas in its current state to your desktop. This code works fine when I add circle objects to the canvas that are drawn to the canvas. The problem lies when I try to load a .png into the canvas. Once the loaded content is added to the canvas the exportButton stops working all together and no longer responds. What is causing the loaded content to break the code?
[Code]...
I am creating a program that is effectively an sprite creator. I'm very new to AS3, but I know JQuery, JS, PHP, etc. After going through multiple steps of selecting pieces to customize a character, you are supposed to be able to download the final product using fileReference(). Everything works, and I can download the image in the end, but the problem is that I cannot capture all of several movieclips on the stage, I can only capture one. Maybe this will help clarify:
[Code]...
Could it be that each of the movieclips I'm adding to the sprite have children of their own?
I am drawing a flash sprite on a BitmapData using its draw() method. This sprite has some nested objects with 0 alpha, yet the draw() method draws them on the bitmap data.
I think it has to do with the color transform I am using, but I have no idea how to change it to achieve the effect I want.
The color transform is the following:
Code:
new ColorTransform(1, 1, 1, 1, 255, 255, 255, 255);
I am using these values in order for the Bitmap to have white pixels wherever the object was, and black where there is nothing. The draw() also draws my alpha = 0 objects in white as well.
Photoshop and Fireworks both have some nice filters. When you put one bitmap over the other, the first bitmap can act as filter. For example, the white pixels of the top bitmap lighten the pixels of the bottom bitmap. Is there any way to apply this in as3? What I am trying to accomplish: I have a large single-color bitmapdata object. I want to overlay perlin noise and lighten/darken the single-color bitmap to give it some random/natural look.
View 1 Replieshi guys, i got this image i scaled down by .5. The user is then allowed to add objects to the image such as flowers that are sprites in the library. So basically, a jpeg that is 800 x 800 is down to 400 x 400 on the stage and the user is able to add objects to overlay the image.
i want to save the image with the flowers and objects back to its 800 x 800, how do i redraw this image using bitmapdata properly?
When I copy layers and edit the objects on stage, the objects also change in the other layer(s).
How do I duplicate a layer so that I can modify it with the objects in the old layer being unaffected? There must be a really easy way?
I want to extract a bitmapdata from one of the first frames of a video flv, and it works correctly in Flash debug with these statements[code]...
When i test this in [url].. not work, I've inserted trace statements before and after this, and only the first are displayed.
I'm using Flash 8, with this code in the first frame:
import flash.display.BitmapData;
rissa._x=Stage.width/2;
rissa._y=Stage.height/2;[code].....
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");
Total ActionScript Errors: 1 Reported Errors: 1
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..
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.
View 3 RepliesI am wondering if there is any way to set the pixel colors exclusively to black and white (instead of gray) in a bitmapData.noise animation. The previous related thread is: [URL]..For the function:
function makeNoise():void { _bitmapData.noise(getTimer(), 100, 255, 7, true);
Is there any way to set the noise color pattern to black and white? In the scripting reference, it seems the choices are R||G||B||Alpha channels, so I am not sure if there is any way to combine these to get black and white only.
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.
View 2 RepliesI'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?
View 2 RepliesI'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
[code].....
I'm working with a video in Flash where I am capturing each frame and testing the color of a single pixel. I'm using it to determine when a white/transparent background changes to be a color. The following AS2 code works flawlessly when I preview it in Flash and on my desktop in the browser (the direct SWF and placed inside HTML using SWFObject) but as soon as I upload it to my server it fails and produces "FFFFFF" continuously regardless.
this.onEnterFrame = function()[code]..........
There is no difference in the files; they are both pulling from the same video source (hosted on an Flash FLV server).The only difference is one set of files is hosted on my local computer and the other is hosted on my web server.
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.
Code:
addEventListener(Event.ENTER_FRAME, Pixel_Perfect);
function Pixel_Perfect(e:Event):void
{[code]....
Enemy1 is a class is that makes a difference
I didn't write this code as i am not this advanced yet but really needed this script, this script normally works but now i am recieving errors
Error: ArgumentError: Error #2015: Invalid BitmapData.
at flash.display::BitmapData/ctor()
at flash.display::BitmapData()
at IceMountain_fla::MainTimeline/Pixel_Perfect()
I have been trying to create a visual noise pattern using bitmapData.noise, and with help from Rothrock and Kglad have created a working version.I checked with a colleague who is expert on the use of these visual patterns, and he suggested that the change speed is too fast: that the dots (pixels) need to change at just under 400 dots per second for an 800 x 600 stage.With beginner skills in AS3, I am unsure if there is any way to change the script to slow the rate of dot change in the bitmapData.noise function?
View 2 RepliesThe 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.
This is my problem:1. I group a drawing or I create an object (movie clip, graphic,button...)2. I double click the object/group on scene to edit.3. I go in to the group.4. I go back to the scene by double clicking somewhere empty.5. And object is gone. It's invisible. I can only bring it back by clicking on something NOT GROUPED on scene, or by clicking the red line on the timeline.Note: This problem seems to be not occuring when I go back to the scene via the blue arrow icon pointing left at the top or by clicking the scene name.
View 1 RepliesIn Flash CS5, none of the align buttons work (in the align tab, in modify > align, or with ctrl + alt shortcuts). Right now I have to take the stage width and object width and put in the x and y coordinates manually to align objects.
View 2 Repliesi'm not quite sure which forum to use, so therefore I post this discussion here. I want to animate an object that is turning 360 degrees around.
[Code]...
It does'nt need any navigation like this example, but it's going to just an animationmovie.This animation is going to be viewed on a widescreen tv. How do I make the animation fit the screen? I'm not sure which resolution the animation must be. I guess this has to match the resolution of the tv. But is it just as simple as changing the flash file settings in 1920 x 1080?
How can I implement this? I tried to use: (this.numChildren - 1)But it doesn't work. I want to use this code because I have 8 boxes, each are 100px X 100px. You hover each box and they flip over but the "backside" of these cards are larger in both length and width than the front. When they flip over they overlap the neighbouring card. I'm looking for some sort of script so that I can tell each card to align itself above the other cards on the stage.
View 20 Repliesthe first thing I am doing is to draw a shape. Object Drawing is selected. I have clicked the rectangle shape tool, have selected a color and fill. I drag across the stage and a rectangular line appears, but when I let off the keys, it dissapears. No shape, no stroke, no fill.Invisible, gone, disappeared.What the heck am I doing wrong?
View 12 Replies