获取Texture
1.在egret中,有2种Texture,一种是纯图片的Texture,还有一种是将DisplayObject转成Texture(即RenderTexture)
·纯位图的Texture。大家可以通过RES.getRes("run_down_png")
(如果有使用Res模块)直接获取,也可以通过URLLoader加载后获取,或者是从已经创建出来的Bitmap中直接取走texture属性。
·RenderTexture
var renderTexture:egret.RenderTexture = new
egret.RenderTexture();
renderTexture.drawToTexture(displayObject);
这样就可以把自己想要的截图的容器放到一个renderTexture上。
2.转换成base64数据:toDataURL。
·直接调用texture.toDataURL("image/png",new egret.Rectangle(20,20,100,100));
即可。
其中,“image/png”为所需要转成的格式,目前只支持“image/png”和“image/jpeg”。
第二个参数就是你所希望截取的区域了,默认为texture整个大小。
注意:
因为是对texture本身进行的截取转换,所以即便Bitmap本身有缩放等变形操作,都是不会影响texture截取的区域大小的。
base64的数据是以 "data:image/png;base64," 开头的数据。
3.保存截图视图:saveToFile.
·直接调用texture.saveToFile("image/png","a/down.png",new egret.Rectangle(20,20,100,100));
.
第一、三2个参数同上面是一样的,
第二个参数是希望保存的文件名称(路径)了。
注意:
浏览器只支持保存名称,所以像 "a/down.png" 这种写法,浏览器会自动将其改成"a-down.png"。图片会保存在浏览器下载的位置。
Native下是可以保存路径的。图片会保存在游戏的私有空间,路径中不能有 "../"。
这里为了兼容所有的平台,建议大家不要使用路径。