加载位图文件
1.使用
Egret 提供了 ImageLoader
类,用于加载位图文件。
例如 ImageLoader
类通过如下代码加载位于 'resource/egret.png' 的图片:
const imgLoader: egret.ImageLoader = new egret.ImageLoader;imgLoader.once(egret.Event.COMPLETE, this.imgLoadHandler, this);imgLoader.load("resource/egret.png");
在所定义的回调事件中,可以用下面的方式获取该图片对应的 BitmapData,并以此来创建位图:
function 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 渲染下,暂不支持跨域图片处理。