跳到主要内容

egret.Texture

   egret

   public class Texture

继承    egret.Texture → egret.HashObject

子类    egret.RenderTexture

纹理类是对不同平台不同的图片资源的封装在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[]

  • 支持版本:all
  • 运行平台:Web,Native
  • 参数

getPixels()

public getPixels(x:number,y:number,width:number,height:number):number[]

获取指定像素区域的颜色值

  • 支持版本:Egret 3.2.1

  • 运行平台:Web

  • 参数

    • x:number - 像素区域的X轴坐标
    • y:number - 像素区域的Y轴坐标
    • width:number - 像素区域的宽度
    • height:number - 像素区域的高度
  • 返回:指定像素区域的颜色值

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