ActionScript 3.0 :: Smooth A Dynamically Loaded Bitmap From Another Domain
Oct 14, 2009
I've tried a bunch of options but can't seem to smooth a dynamically loaded bitmap from another domain. I've come to believe this is impossible without a cross domain file. Is it possible or not possible?
I keep getting:
SecurityError: Error #2123: Security sandbox violation: LoaderInfo.content: http://....swf cannot access http://...png. No policy files granted access.
at flash.display::LoaderInfo/get content()
at Main/showLogo()
So outside of putting a crossdomain.xml file out there, any options?
I'm setting up an online picture gallery. I'm trying to make it easy for the client to insert specific images, dynamically loaded, have them appear at 63 percent. If the user clicks on one, it enlarges to 100 percent. Trouble is, when the image is at 63 percent, it is not smooth and looks terrible,All the BitmapData class solutions posted online work for individual images. But I can't figure out how to automate the process in a for loop. At this point I'm not even worrying about the enlarging. I just want the images to load at 63 percent and look smooth.Below is the code for two images. Later I'll increase this to 25.
On the stage are two colored rectangle movie clips: toon1 and toon2. I want the dynamically loaded jpegs to load inside them. The client will manually edit the last lines whenever she feels like it, to choose which images to load.What I need is an elegant AS2 solution in which any dynamically loaded jpeg will be smoothed.
for (i=1; i<=2; i++) { this["toon"+i].createEmptyMovieClip("cartoon",this.getNextHighestDept h()); this["toon"+i].cartoon._xscale = this["toon"+i].cartoon._yscale=63;
I've got a nifty bit of script that loads some images from an XML file into flash. It loads the pictures into specified movieclips:
ActionScript Code: xmlImages.reset(); xmlImages = new XML(); xmlImages.ignoreWhite = true; xmlImages.onLoad = loadImages; xmlImages.load("[URL]"); function loadImages(loaded) { [Code] .....
Each instance of the movieclips are called picture_mc1, picture_mc2 etc. On the frame where these picture_mc's sit, I've got this code: ActionScript Code: function randomImage() { if (loaded == filesize) { image = (imageFileName[0]); picture_mc1.loadMovie(imageFileName[0], 1); picture_mc1._xscale=23; picture_mc1._yscale=23; [Code] .....
Everything works fine, but my image scaling is making my picture_mc's look really pixilated. I've seen references to bitmap image smoothing, but i'm not sure the best way to approach this. It seems that each time I try and smooth my images, the code is smoothing the image placeholder, rather than the jpg that's being loaded into it.
I have played around with the Dynamically Loading Bitmaps With Smoothing from Tinic U ro as well as somme other advices from people on the kirupa forum. The code works great. I am trying to load different Bitmaps, fullscreen, on the click of a button (or any other event). The images load, but they just stack on top of each others and thus, they don't resize to the stage properly. Here is the code with the attached FLA: ( you'll need 3 jpg named bg1.jpg, bg2.jpg, bg3.jpg, all in the same folder as the fla)
Trying to set the smoothing of a dynamically loaded, through XML, JPEG set to true using AS2. I've seen an example of that would do this with this code:
In my code I'm loading a series of products from an XML file. Each bit of information for each product gets loaded into a seprate array. I have a 'zoomy box' image, which loads an image, but at 200%, which I want to smooth...
The code: nZoompic1[i] = (childs.childNodes[EEE].childNodes[i].childNodes[18].firstChild.nodeValue); What the syntax would be for getting it to work?
I'm loading a jpeg image from a sub doamin. Image is loading fine initially..But when i try to take the bitmap it's not coming. Here, swf is in one subdomain,image is in one subdomain-these two under the same main domain (Note:bitmap came when I used the same domain for both swf and image). I used "crossdomain.xml" in the subdomain root.(ie; i pasted the xml file where the image exist). It's not working. And I tried like this also - I placed the "crossdomain.xml" file in the main domain root also.
I added in flash file System.security.allowDomain("[URL]") System.security.loadPolicyFile("[URL]"); My image is in [URL] My swf is in [URL]
This is a two fold query involving the same issue. As you know, if you attempt to use bitmap.draw() with an object (image or swf) that is not in the same domain as the calling swf the bitmap will not draw. As described by Adobe livedocs, if Security.allowDomain() is setup in the calling swf then draw() will work. However, I cannot get this method to work. I have supplied an example fla (make sure to get the .as for it too).
1. How do I get Security settings right to permit bitmap.draw() to work with objects from another domain? (not any domain - just the domain I define in the allowDomain parameter)
2. How do I setup an event handler (listener) for bitmap.draw() so I can detect when it doesn't draw?
I'm building a Flash arcade system that people can deploy to their own websites, which loads its Flash content into a security sandbox. Basically, I'm interested in finding a way to prevent a loaded SWF from accessing the stage.
As you know, once an object in a loaded SWF has access to the stage, it can use event listeners to secure itself to the display list, circumvent Loader.unloadAndStop(), and potentially conduct malicious activities such as key logging. I'm looking to prevent that.
Flash automatically puts SWFs in a sandbox when they're loaded in a domain or subdomain that is different from the parent SWF's. However, the market I'm targeting with this arcade system will probably not have a clear grasp of these concepts, and it's very likely that they will load a SWF into the arcade from the same domain, and that SWF can be malicious. Therefore I'm trying to sandbox content loaded from the same domain as the loader SWF.
We're building an app that loads a user's photos from facebook. It seems facebook hosts these images across multiple hosts. Is it possible to dynamically add a cross domain policy, after a Security sandbox violation has occurred?
This may sound like a strange request, but I need to be able to determine:
1. What browser domain the current swf is executing in (that is, the page that hosts the swf is displayed in a browser, what is the domain of the page)?
2. What server domain the SWF was loaded from (ie, what the URL domain was for the SWF)?
I believe both of these I can get via javascript and ugly workarounds and pass them in, but what I need is actually to get these values (at least #2) from inside the SWF without relying on the javascript in the hosting page.
Specifically, what I'm trying to determine is if the SWF is executing in a page from the same domain as it itself was hosted/loaded from. I want to fork on this test and create different behavior for a SWF if it's "hot-linked" (that is, loaded onto a page on a different domain from where I host it).
I've looked into flash.system.SecurityDomain and ApplicationDomain... both these have properties called 'currentDomain' which would seem to be the value i'm looking for (for #2), however this object is a static variable that I can't seem to get any information out of or transform into any kind of useful string that I can look at it's value and test with it.The only info I've found on either of those two classes all relates to passing them to LoaderContext and such, when you are loading external resources.I do not want to load anything, I just want to determine how and where the SWF is executing.
I have approximately five external movies I am loading into one main movie. I load the movies using various buttons in the main movie.
My issue is this...I press a button and the first movie loads and then runs to the end of the timeline. Works great.When a push a second button the second movie loads and runs to the end of the timeline. Works great also.but I hate how there is a blank space between the movies.
All the movies start with a white stage and end with full graphics. When I press a second button, the movie on the stage disappears immediately and I am left with a white stage for a few seconds while the loading movie animates onto the stage.
I want there to be a cross-fade or some effect that allows the loaded movie to remain on the stage while the second movie is loading. Is there a way to make this happen?
I'm including the code I have for loading movies so you can see what I am working with thus far.
I am loading some bitmaps(transparent pngs) that I want to scale and remain smooth. We all know the problems with flash player 8+ anti-aliasing the images and not allowing the images to be forced to be smoothed. I want the png to retain its transparency. I use flash8 actionscript 2.
Here is the PHP Code: var mclis:Object = new Object(); //An object that listens for a callback notification from the MovieClip Loader event handlers. mclis.onLoadInit = function(target_mc:MovieClip) { thisHeightInit = target_mc._height; thisWidthInit = target_mc._width; [Code] .....
I am developing a flex application with flex 4.1 sdk and java backend (runs on Glassfish 3.1 via http). For security reasons I decided to move my authentication process to https until a session id is obtained. Therefore I changed the filter settings to use ssl for login and logout pages(just two pages due to performance reasons. The data-size sent to client is large and I do not want to slow down the system). Glassfish forwarded these pages to 8181 port (which is HTTPS port). Everything is ok for the java part. However flex defines the 8181 port as a different domain and then problems arise. Due to flash's same-origin policy it cannot load the secured content. Normally a crossdomain.xml is the solution but I am accessing content of the same domain through a different port. What will be the solution ?
My application currently contains a number of Widgets that are managed by a Widget Manager. When the user clicks on a widget (e.g. a Helper widget), the Widget Manager loads the widget into a separate sibling application domain with the following line of code:
However, I am unable to use the widget's variables and functions later on. I attempt to find the Helper widget from the Widget Manager's list of widgets, and I do successfully. But when I try to caste the Helper Widget from type IBaseWidget (the interface all widgets share) to type HelperWidget, I receive the following error:
TypeError: Error #1034: Type Coercion failed.....
This is because the application domain of the class trying to use the Helper widget is different from the application domain of the Helper Widget. I tried to fix this by loading all widgets into the same application domain as the loader:
I have a movieclip that I want to be resized when a button is clicked. I want the animation to be smooth as if it had weight though. I read the tutorial on this but I need something slightly different, I would rather it where I can just refer to a function that is set in another movieclip. That way I could easily refer to it again and just set the height, width, and if possible, x, and y.
And my second question, is how to keep the border of my movieclip that is going to be resized the same thickness. I want the inside to be resized but the sides to stay the same width but move to stay on the edge.
post the code for a working cross-domain securityfile that allows access only from the same domain as all the flashfiles and xml files are in?used to be easy in as2 but i think i dont know what i need to know about it in as3..
We are running FMS3 on Windows 2003 Server. Videos stream and play fine when inside our domain, but outside the domain the videos take anywhere from 20 or more seconds before playing.
After analizing the connections it was determined that the player is randomly trying to access ports until it gets to the one that works, but this is ONLY happening from people trying to view videos from outside our domain.
I have moved a web application from old domain to new domain. I cannot get Flash to engage. I have changed the domain in flash_images.php file to the new domain. I have a flash_box.swf file and I have a js file these are the only flash components that I see--old domain is e.g. www.example.com new domain is [URL]..I am not a flash developer, how do I get flash to work on the new domain?
Is it possible to change the Bitmap size Dynamically in As3..Which is created from the movieClip . var myBitmapData:BitmapData=new BitmapData(450,282); myBitmapData.draw(my_mc); Now I need the same bitmap of 620X225. How to resize the bitmap without modifying the movieClip height and width.
I created some game and would like to let the users play it only on my domain, so to forbid to play it offline or put on some other site. Is there a way to do it? Somehow check domain or so?