很多人都想当然的直接用URLLoader加载外部图片然后通过byteArray去转化成bitmap,其实也是可行的,但是出问题几率也会大很多。
我推荐一个比较实用的方法用URLLoader以二进制的方式加载外部图片,获得URLLoader.data的ByteArray数据,再用Loader去加载,这时Loader.content就是一个bitmap了
以下是一个例子
[code]
package {
import flash.display.Bitmap;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.ConvolutionFilter;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoaderDataFormat;
import flash.utils.ByteArray;
public class Main extends Sprite{
private var loader:URLLoader;
public function Main():void{
loadImage("image.jpg");
}
private function loadImage(_path:String ):void{
loader = new URLLoader;
loader.dataFormat=URLLoaderDataFormat.BINARY ;
loader.addEventListener (Event.COMPLETE , onImageLoaded);
loader.load(new URLRequest (_path));
}
private function onImageLoaded(e:Event):void {
var _ba:ByteArray = e.target.data as ByteArray;
var _l:Loader = new Loader;
_l.contentLoaderInfo.addEventListener (Event.COMPLETE, onBytesLoaded);
_l.loadBytes(_ba);
//-------------------
loader.removeEventListener (Event.COMPLETE , onImageLoaded);
loader = null;
}
private function onBytesLoaded(e:Event):void
{
var _bitmap:Bitmap = e.target.content as Bitmap;
trace(_bitmap.width, _bitmap.height );
addChild (_bitmap );
//
e.target.loader.contentLoaderInfo.removeEventListener (Event.COMPLETE, onBytesLoaded);
}
}
}
[/code]
相关推荐
在本文中,我们将深入探讨如何使用AS3.0(ActionScript 3.0)来实现视频加载和本地文件操作的功能。ActionScript是Adobe Flash Player和Adobe AIR中的编程语言,广泛用于创建互动式富媒体内容,包括视频播放器。 ...
5. **ActionScript与Flash Player交互**:通过AS 3.0,开发者可以控制Flash Player的行为,如加载外部资源、播放音频和视频,以及与用户交互。 6. **网络通信**:XMLSocket、URLLoader和XML等类支持XML、JSON和其他...
7. **外部资源交互**:AS3.0可以加载外部SWF、图像、XML、JSON等文件,进行数据交换。同时,通过XMLSocket或URLLoader,还可以与服务器进行通信,实现AJAX风格的应用。 8. **声音和视频处理**:AS3.0提供了强大的...
在AS3.0中,加载外部资源,如声音文件,通常涉及到 `URLLoader` 类和 `URLRequest` 类。首先,创建一个 `URLRequest` 对象,指定声音文件的URL。然后,使用 `URLLoader` 加载这个请求,将数据加载到内存中。 3. **...
根据提供的标题、描述以及部分代码内容,我们可以总结出关于如何在Adobe Flash Professional AS3(ActionScript 3)环境中加载外部SWF、JPG、GIF 和 PNG 文件的一些关键知识点。 ### 1. 引言 在Flash AS3编程中,...
5. **位图处理**:为了展示图片,AS3.0提供了BitmapData类,可以用来加载、绘制和操作位图。Bitmap和Sprite类用于在舞台上显示位图。 6. **XML或JSON数据加载**:通常,相册的数据(如图片URL和描述)会存储在外部...
7. **外部数据加载**:如果菜单项需要从外部文件动态加载,可以使用`Loader`和`URLLoader`类加载XML或JSON数据。 8. **优化性能**:避免不必要的计算和重复渲染,使用` ENTER_FRAME`事件监听器来控制动画更新,提高...
3. **动态加载XML**:使用`URLLoader`类加载外部XML文件,需要监听`Event.COMPLETE`事件来处理加载完成的数据。例如: ```actionscript var loader:URLLoader = new URLLoader(); loader.addEventListener(Event....
此外,AS3.0支持闭包,这是一种强大的功能,允许函数访问并操作其外部作用域的变量,即使在函数外部。 在处理数据方面,AS3.0的Array和Object类提供了丰富的操作方法。Array支持动态大小调整和多种排序算法,而...
最后,书籍可能还会讨论如何使用AS3.0与网络通信,例如加载外部数据(如地图或用户分数),或者实现多人在线游戏的简单机制。这涉及到URLLoader、XML和JSON解析等网络编程技术。 总的来说,AS3.0游戏编程大学是一本...
总的来说,通过AS3.0与XML的结合,我们可以轻松地加载外部数据并实现动态内容。在这个例子中,我们学习了如何读取XML文件中的图片URL,加载图片并创建一个滚动展示的图片容器。这种方法在创建富媒体应用、幻灯片展示...
在本文中,我们将深入探讨如何使用AS3.0(ActionScript 3.0)来实现一个外部XML文件驱动的上下翻页效果,特别是在一个音乐播放器应用中的应用场景。首先,我们需要理解AS3.0的基本语法和XML数据处理,然后我们会讨论...
在我们的"Flash as3.0 小巧MP3 播放器 源码"项目中,`MP3.fla`文件是主要的工作区,包含舞台上的所有视觉元素以及相关的ActionScript代码。在Flash CS4中,开发者可以使用时间轴上的关键帧和脚本面板编写AS3代码,...
10. **网络通信**:AS3.0支持XMLSocket、URLLoader和XML等类进行网络通信,可以实现HTTP、FTP等协议的数据交换,常用于与服务器交互或加载外部资源。 11. **本地存储**:使用SharedObject类可以实现客户端的数据...
8. **网络通信**:虽然“格斗之路”作为一个单机小游戏,但AS3.0的Socket和URLLoader类可用于实现与服务器的通信,如果游戏扩展到多人在线对战,这些功能就会显得尤为重要。 总的来说,“格斗之路”小游戏通过AS3.0...
- 使用`URLLoader`类加载外部XML文件。 2. **解析XML数据**: - 利用`XML`类解析加载的数据。 3. **显示内容**: - 根据解析后的数据,在舞台上动态加载图片或其他元素。 #### 4. 总结 通过本文的学习,我们不仅...
AS3中的`URLLoader`类用于加载外部数据,包括MP3文件。加载过程中可以监听`Event.PROGRESS`和`Event.COMPLETE`事件,以便在加载过程中提供反馈或确保数据完整加载。 10. **优化和性能**: 对于大型或高码率的MP3...
例如,URLLoader类用于加载外部数据,XML类则提供了解析和操作XML文档的方法。 对于图形绘制,AS3.0的DisplayObject容器体系结构允许开发者创建复杂的视觉层次结构。Shape、Sprite和Bitmap类提供基本的绘图和图像...
【AS3.0 与网络通信】在ActionScript 3.0中,网络通信是通过`flash.net`包中的类来实现的,这使得Flash应用程序能够与外部数据源进行高效而标准的交互。以下是关于这一主题的详细说明: 1. **数据通信基础** - **...
7. **ActionScript 3.0与Flash Player的交互**:AS3.0可以控制Flash Player的很多功能,如加载外部资源、播放动画、处理用户输入等。 8. **ActionScript 3.0与Flex框架的结合**:Flex是一种基于AS3.0的MVC框架,...