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));
}
}