Egret社区
本帖最后由 cair 于 2017-8-31 20:34 编辑

本题已加入常见问题汇总 » 多媒体 & 资源最佳实践,更多多媒体 & 资源最佳实践相关的话题欢迎关注讨论




                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;
                }
分享到 :
11 人收藏

19 个回复

倒序浏览
dily3825002  社区管理员 | 2017-8-28 14:40:57
感谢分享

回帖奖励 +2

骑蚊子  圆转纯熟 | 2017-8-28 14:43:01
来看看的~

回帖奖励 +2

baron  圆转纯熟 | 2017-8-29 16:15:33
厉害了啊

回帖奖励 +2

904175367  登堂入室 | 2017-8-29 16:50:07
666
粗人  圆转纯熟 | 2017-8-30 17:15:45
666
Sep  登堂入室 | 2017-8-30 18:07:59
666

回帖奖励 +2

huangdian  登堂入室 | 2017-9-4 17:21:11
666

回帖奖励 +2

derek6616  初窥堂奥 | 2017-9-5 07:34:15
感谢分享,多谢啦多谢啦
23king  圆转纯熟 | 2017-9-5 10:30:13
这个有点屌啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部