31 lines
1.0 KiB
Markdown
31 lines
1.0 KiB
Markdown
|
## 1.使用
|
|||
|
Egret 提供了 `ImageLoader` 类,用于加载位图文件。
|
|||
|
|
|||
|
例如 `ImageLoader` 类通过如下代码加载位于 'resource/egret.png' 的图片:
|
|||
|
|
|||
|
``` javascript
|
|||
|
var imgLoader:egret.ImageLoader = new egret.ImageLoader;
|
|||
|
imgLoader.once( egret.Event.COMPLETE, this.imgLoadHandler, this );
|
|||
|
imgLoader.load( "resource/egret.png" );
|
|||
|
```
|
|||
|
|
|||
|
在所定义的回调事件中,可以用下面的方式获取该图片对应的 BitmapData,并以此来创建位图:
|
|||
|
|
|||
|
``` javascript
|
|||
|
imgLoadHandler( evt:egret.Event ):void{
|
|||
|
let loader:egret.ImageLoader = evt.currentTarget;
|
|||
|
let bmd:egret.BitmapData = loader.data;
|
|||
|
//创建纹理对象
|
|||
|
let texture = new egret.Texture();
|
|||
|
texture.bitmapData = bmd;
|
|||
|
let bmp:egret.Bitmap = new egret.Bitmap(texture);
|
|||
|
this.addChild(bmp);
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
## 2.跨域处理
|
|||
|
|
|||
|
* 服务器设置访问权限。
|
|||
|
* 可以通过尝试修改 `imgLoader.crossOrigin = 'anonymous'` 来以匿名的方式访问。不过在使用 `texture.toDataURL` 时会报跨域问题。
|
|||
|
* Webgl 渲染下,暂不支持跨域图片处理。
|