egret-截屏功能

获取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下是可以保存路径的。图片会保存在游戏的私有空间,路径中不能有 "../"。
  这里为了兼容所有的平台,建议大家不要使用路径。

猜你喜欢

转载自blog.csdn.net/qq_42882376/article/details/81455610
今日推荐