public static shareImage(display: egret.DisplayObject): void
{
if (Const.WX_INSTALLED == false)
{
Basic.Toast.buildToast('您未安装微信');
return;
}
// 非Native环境
if (egret.Capabilities.runtimeType != egret.RuntimeType.NATIVE)
{
return;
}
var width = display.width;
var height = display.height;
var scaleWidth = .15 * width;
var scaleHeight = .15 * height;
// 绘制到 renderTexture
var renderTexture = new egret.RenderTexture;
renderTexture.drawToTexture(display, new egret.Rectangle(0, 0, width, height));
var bitmap = new egret.Bitmap;
// 缩放 bitmap
bitmap.texture = renderTexture;
bitmap.width = .6 * width;
bitmap.height = .6 * height;
// 绘制缩放后的 bitmap
renderTexture = new egret.RenderTexture;
renderTexture.drawToTexture(bitmap, new egret.Rectangle(0, 0, bitmap.width, bitmap.height));
// 传给 native 的值
var value;
// 文件路径
var filePath = "";
if("ios" == egret.Capabilities.os.toLocaleLowerCase())
{
filePath = "/local/game/share.jpg";
value =
{
type: "0",
path: "/local/game/share.jpg",
width: scaleWidth.toString(),
height: scaleHeight.toString()
}
}else
{
filePath = "game/share.jpg";
value =
{
type: "0",
path: "/egret/local/game/share.jpg",
width: scaleWidth.toString(),
height: scaleHeight.toString()
}
}
// 保存纹理
renderTexture.saveToFile("image/jpeg", filePath);
// 回调Native
egret.ExternalInterface.call(Const.NATIVE_SHARE_CAPTURE_TO_WX, JSON.stringify(value));
bitmap.texture.dispose();
bitmap = null;
renderTexture.dispose();
renderTexture = null;
}