ActionScript 3.0 :: "screenshot" With BitmapData.draw And FileReference.save?
Sep 20, 2009
I made this dress-up type game, and have been trying to figure out how to let the user save an image of their creation. I've been researching and figured out I need to use bitmapData.draw and fileReference.save in the actionscript somewhere. The only problem is I want this to be a standalone .swf if possible. The 'game' is here. This is part of my code:
I got serious issue while using adobe flash media server (I have media server streaming license). It doesn't allow flash clients to make stream's screenshot (with BitmapData.draw) because this is restricted from server side by default. I found that this trouble can be resolved my updating main.asc file but it seems like replacing main.far with mine main.asc causing error. Could you please help me with resolving this issue because it's extremely important to allow this screens making for user.I used CentOS 5.3 and FMS 4.0.1 r2009 (instaled in /opt/adobe/fms include Apache 2.2). All video is stored in a directory /opt/adobe/fms/applications/vod/media and I put the main.asc file in the directory /opt/adobe/fms/applications/vod/ from the directory /opt/adobe/fms/samples/applications/vod.
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.
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 am trying to snapshot a movieclip at X and Y by WIDTH and HEIGHT. All is fine, it snapshots fine and gets the width and height, but I can't adjust the x and y position for it to begin the snapshot at. I tried using a Matrix and its Matrix.translate() method, I tried moving the scroll beneath the draw method line. I don't understand how to get this thing to move.
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 am using the draw() method of the BitmapData to encode a jpeg of part of the image. Now this should be easy enough given the object I want to draw to the bitmap is on the stage at design time so I know its location and dimetions exactly! Heres the code I have in place.
Code: var myBitmapSource:BitmapData = new BitmapData ( street.width, street.height, false, 0x333333); myBitmapSource.draw(street, null, null, null, new Rectangle( 96, 5, 571, 450 ), true );
I know for a FACT that no part of the street clip I am drawing out is in negative space, and it's registration is (0,0). However, it cuts off A lot of the top of my image. y=5 in the above rectangle is where I need the top to be, but it cuts the top off of the image... even if I change it to 0, it has no effect.
Can we Bypass the save dialog box of FileRefernce.save()? If not, then Is there any workaround to save a file from web application in Flex without asking user where to save file?
i have movie clip with Images and button Save and class MyProject.as how save images with my MyProject.as, with help FileReference.save? what to write in code? how code should look like? tell me good people I want to write everything in a separate class
I'm trying to do some lean blitting for an object that rotates by rotating it once at startup and capturing a BitmapData snapshot of each 5 degrees. The problem I'm having is that the draw() method of the BitmapData object is only picking up pixels in the MovieClip that are below and to the right of the registration point. If I change the MC so that the registration point is in the top left corner, I sometimes get what looks like most of the pixels, but the entire object rotates into and out of the frame, since it's rotating around the corner and not the center.
Is there a way to get rid of the save dialog box in filereference.save()?I want to specify the filename and location rather then letting the user do it.
On my website people enter, watch a live stream from a remote server (not my server) and when they click on a button it report it to me and what I want to add is the ability for me to take a screenshot of this stream at the very moment when they click that button and save it on the server. They question is how to implement so? Now I just have that stream in an Iframe that shows it as a .swf object Possible solutions I thought of but don't know whether will work are:
Embedding this Iframe inside a flash object that I will create. That means that on the website the users will see a flash object I created that all it does is to show the stream from an url I give it and when the user clicks on a button inside the html it will send the flash the command to save the screenshot now and then save it on my server (don't know how to implement it, so the second question is, if you think it will work, how to do so?).Second solution is to have an open browser on my server that when the user clicks the button, I send an ajax request to the server that will then order the browser to take a screenshot and save it locally on the server. (again, if you think this solution will work, tell me how to implement so).
I need the user of my Flex application to be able to save a snapshot of part of the UI to a local jpg file. I got the screenshot part down - can generate an image out of any given control. However, the only way I see to let the user save the image locally is to send to my server which would return it with the appropriate Content-Disposition.
i have a class thats create a class with bitmapData that merge 2 IBitmapDrawable. one of them is 24*20 while the other is 16*16.i want to draw the smaller first in a bitmapData object which its width and height are 24*20 but i want to draw it in the center of the big bounds.
Is there anyway to download a file with the URLLoader and then save it to the disk without using filereference or anything that uses a dialog? This is what I have but isn't working:
Is there any way to set the filetype you want to save to with the FileReference class? I'm creating PNGs for users to save to their hard drive, but I don't really want them to have to specify an extension. If they don't, the images are just saved as generic files, which is a bit crappy.
I'm using Filereference.save() to save a jpg file. It'sbasically working fine, but is there anyway to force a fileextension on the saved file? I'm using "untitled.jpg" as thedefault filename, but if the user changes it to say "myfile", itgets saved as "myfile", rather than "myfile.jpg".
I am using FileReference,save() to save a file to the local HDD. It works. But it could be nicer. When I issue the command, I get a dialog box displayed and the title is "Select location for download by localhost". I can't see any documented way to change that title. The file I want to save has been created locally - there is nothing to download.
Also, the dialog lists "All Files" and there does not be any way to filter to a particular file type - although I can specify a default file name (including the extension). I suspect that these are features of the current implementation - not a lot of people read the title of the dialog box anyway. But if they can be changed, I'd like to know.
I'm currently using the FileReference class to allow users of my program to save and load files from their PC. I'm currently trying to get the save function to work (I'll do load later) and it all seems to be working perfectly but while testing it (locally) it crashes Flash Player every time it saves.
The code is pretty simple just now (this is contained in an event handler which triggers when the save button is pressed):
var levelData:String = GetLevelData();var outputFileName:String = "NewLevel.txt"; saveFile = new FileReference(); saveFile.addEventListener(Event.COMPLETE, SaveCompleteHandler); saveFile.addEventListener(IOErrorEvent.IO_ERROR, SaveIOErrorHandler); saveFile.save(levelData, outputFileName);
And it all works fine - the NewLevel.txt file appears where I want it to and contains the correct data. But as soon as this has completed Flash Player quits and I get the 'Flash Player Quit Unexpectadly' message. There are no errors in the output from my code. The SaveCompleteHandler function has been called and the SaveIOErrorHandler function has not.
Could this be a bug in Flash player? I'm using a Mac and have encountered a few bugs with the Mac version so I wouldn't be surprised if this was another one.
Im still new in Flex and currently working on capturing a flash game into a flv video file. Im using FileReference.save() to write the captured file in the user's system. It is working as of now but not the way I want it to be.Is there a way to bypass or automate the save dialog box when invoking the save() api of fileReference?
I am using a filereference Object to export an excel file from my flex application. I am using fileReference.save() from Flash player 10. I am getting an error if the file i am trying to save is already open. This error is not getting handled even if i put a try catch block. I have tried adding a listener with IOErrorEvent.IO_ERROR. Still the error is happening. This is the Error message i am getting - "Error #2044: Unhandled IOErrorEvent:. text=Error #2038: File I/O Error."
I am currently working in Flex 3.0 I am getting an error(screen shot is given below). I am using Flash Player Version 10.0Currently I am calling the HTTPService and in the resultHandler of that HTTPService i am getting an error in method filereference.save() .because this method is called only when the MouseEvent or Keyboard event is occured.Is there any solution to overcome this situation or in other words calling the filereference.save method in ResultHandler.
ActionScript Code: import flash.events.Event; var file:FileReference = new FileReference(); saveBtn.addEventListener(MouseEvent.CLICK, onClick);[code]....
will save a text file to a location I choose, containing the text I wrote in the text field. But it prompts me for the location. Is there a way to save the text just locally next to the swf without the prompt?
I'm trying to create a XML file in actionscript which will be saved out using FileReference and will then be loaded in later by another SWF.The problem I have is that I can't figure out how to have the actual CDATA tag in the saved XML file so that I can output html tags in the text.e.g.
var xml:XML = <data> <text> <![CDATA[ This is some <b>bold</b> text ]]> </text> </data>
I'm creating a offline application that needs to save out XML file to the user's computer. I normally use Zinc to handle all saving, but I've just remembered that FP10 has FileReference, is there are way to invoke the save with out the dialog box displaying?