[Egret]长按截屏分享、分享截屏图片、本地存储
egret 分享有API可以把一个显示对象树渲染成一个位图纹理,我把它赋值给 HTML 的 Image 元素,就实现了图片的显示,在微信中,通过长按图片可以分享出去。当然在其他浏览器可以保存在本地。
第一步 添加HTML元素
<div id="divImage" style="background: #373737;display:none;text-align:center;z-index:99;width:100%;height:100%;position: absolute;"> <div style="position:absolute;top:10%;color: #ffffff;display:block;text-align:center;width: 100%;"> <span style="display:block;font-size: 25px ">长按图片发送给朋友</span><br/> <img src="" alt="" id="shareImage" style="width: 100%;"> </div> <img src="./resource/icon_close.png" onclick="isHidden('divImage')" alt="" style="position:absolute;right:1%;top:1%;"> </div> <script> ///这里添加点击 X 按钮关闭 function isHidden(idtext) { var vDiv = document.getElementById(idtext); vDiv.style.display = 'none'; } </script>
第二步 添加egret代码
public shareImage(target: egret.DisplayObject): void { var renderTexture = new egret.RenderTexture(); renderTexture.drawToTexture(target);//渲染到临时画布 var divImage = document.getElementById("divImage");//获取DIV var shareImage: HTMLImageElement = document.getElementById("shareImage") as HTMLImageElement;//获取Image标签 shareImage.src = renderTexture.toDataURL('image/jpeg');//把数据赋值给Image divImage.style.display = "block";//显示DIV }