egret.Texture
包 egret
类 public class Texture
继承 egret.Texture → egret.HashObject
纹理类是对不同平台不同的图片资源的封装在HTML5中,资源是一个HTMLElement对象在OpenGL / WebGL中,资源是一个提交GPU后获取的纹理idTexture类封装了这些底层实现的细节,开发者只需要关心接口即可
公共属性
| 属性 | 
|---|
| bitmapData : egret.BitmapData   被引用的 BitmapData 对象  | 
| disposeBitmapData : boolean   销毁纹理时是否销毁对应BitmapData  | 
| ktxData : ArrayBuffer   被引用的 KTXData 对象  | 
| textureHeight : number   纹理高度,只读属性,不可以设置  | 
| textureWidth : number   纹理宽度,只读属性,不可以设置  | 
公共方法
| 方法 | 
|---|
| Texture()   创建一个 egret.Texture 对象  | 
| dispose():void   释放纹理  | 
| getPixel32(x:number,y:number):number[] | 
| getPixels(x:number,y:number,width:number,height:number):number[]   获取指定像素区域的颜色值  | 
| saveToFile(type:string,filePath:string,rect:egret.Rectangle):void   裁剪指定区域并保存成图片  | 
| toDataURL(type:string,rect:egret.Rectangle,encoderOptions):string   转换成base64字符串,如果图片(或者包含的图片)跨域,则返回null  | 
属性详细信息
bitmapData
bitmapData : egret.BitmapData
- 支持版本:Egret 2.4
 - 运行平台:Web,Native
 
被引用的 BitmapData 对象。
disposeBitmapData
disposeBitmapData : boolean = true
- 支持版本:Egret 5.0.8
 - 运行平台:Web,Native
 
销毁纹理时是否销毁对应BitmapData
ktxData
ktxData : ArrayBuffer
- 支持版本:Egret 5.2.21
 - 运行平台:Web,Native
 
被引用的 KTXData 对象。
textureHeight
textureHeight : number
- 支持版本:Egret 2.4
 - 运行平台:Web,Native
 
纹理高度,只读属性,不可以设置
textureWidth
textureWidth : number
- 支持版本:Egret 2.4
 - 运行平台:Web,Native
 
纹理宽度,只读属性,不可以设置
方法详细信息
Texture()
public Texture()
创建一个 egret.Texture 对象
- 支持版本:Egret 2.4
 - 运行平台:Web,Native
 
dispose()
public dispose():void
释放纹理
- 支持版本:Egret 2.4
 - 运行平台:Web,Native
 
getPixel32()
public getPixel32(x:number,y:number):number[]
getPixels()
public getPixels(x:number,y:number,width:number,height:number):number[]
获取指定像素区域的颜色值
支持版本:Egret 3.2.1
运行平台:Web
参数
返回:指定像素区域的颜色值
saveToFile()
public saveToFile(type:string,filePath:string,rect:egret.Rectangle):void
裁剪指定区域并保存成图片。native只支持 "image/png" 和 "image/jpeg";Web中由于各个浏览器的实现不一样,因此建议也只用这2种。
- 支持版本:Egret 2.4
 - 运行平台:Native
 - 参数
- type:string - 转换的类型,如 "image/png"
 - filePath:string - 图片的名称的路径(主目录为游戏的私有空间,路径中不能有 "../",Web只支持传名称。)
 - rect:egret.Rectangle - 需要转换的区域
 
 
toDataURL()
public toDataURL(type:string,rect:egret.Rectangle,encoderOptions):string
转换成base64字符串,如果图片(或者包含的图片)跨域,则返回null
支持版本:Egret 2.4
运行平台:Web,Native
参数
- type:string - 转换的类型,如 "image/png"
 - rect:egret.Rectangle - 需要转换的区域
 - encoderOptions
 
返回:base64字符串
示例
/*
 * 以下示例演示了使用 ImageLoader 加载图片资源并使用 Bitmap 进行显示。
 * 还可以配合 RES 模块更便捷的加载。
 */
class  TextureExample  extends  egret.DisplayObjectContainer  {
  public  constructor()  {
    super();
    this.startLoad();
  }
  private  startLoad():void  {
    //创建 ImageLoader 对象
    var loader:egret.ImageLoader  =  new  egret.ImageLoader();
    //添加加载完成侦听
    loader.addEventListener(egret.Event.COMPLETE,  this.onLoadComplete,  this);
    var url:string =  "resource/assets/egret_icon.png";
    //开始加载
    loader.load(url);
  }
  private  onLoadComplete(event:egret.Event):void  {
    var loader:egret.ImageLoader  =  <egret.ImageLoader>event.target;
    //获取加载到的纹理对象
    var bitmapData:egret.BitmapData  = loader.data;
    //创建纹理对象
    var texture =  new  egret.Texture();
    texture.bitmapData  = bitmapData;
    //创建 Bitmap 进行显示
    this.addChild(new  egret.Bitmap(texture));
  }
}

