Пример #1
0
        public bool SendImage(Android.Graphics.Bitmap bitmap, WXScene scene = 0)
        {
            if (bitmap == null)
            {
                throw new Exception("(Android.Graphics.Bitmap) bitmap is null");
            }

            WXImageObject imgObj = new WXImageObject(bitmap);

            WXMediaMessage wxMediaMessage = new WXMediaMessage();

            wxMediaMessage.MyMediaObject = imgObj;

            // 设置缩略图
            int thumbSize = 150;                                                                 // 150是根据官网demo设置

            Android.Graphics.Bitmap thumbBmp = bitmap.ScaledBitmap(thumbSize, thumbSize, false); // 扩展方法
            bitmap.Recycle();

            wxMediaMessage.ThumbData = thumbBmp.ToArray(true); // 扩展方法

            //构造一个Req请求
            SendMessageToWX.Req req = new SendMessageToWX.Req();

            //唯一的请求标志
            req.Transaction = System.Guid.NewGuid().ToString();
            req.Message     = wxMediaMessage;

            // req.Scene = SendMessageToWX.Req.WXSceneSession; // 发送信息
            // req.Scene = SendMessageToWX.Req.WXSceneTimeline; // 发送朋友圈
            req.Scene = (int)scene;

            //发送数据
            return(api.SendReq(req));
        }
Пример #2
0
        //分享图片
        partial void UIButton12_TouchUpInside(UIButton sender)
        {
            try
            {
                //初始化一个WXImageObject对象,设置要分享的图片
                WXImageObject imageObj = new WXImageObject();
                NSData        data     = NSData.FromFile("icon.png");
                imageObj.ImageData = data;

                //设置WXMediaMessage对象
                WXMediaMessage msg = new WXMediaMessage();
                msg.SetThumbImage(UIImage.FromFile("icon.png"));
                msg.MediaObject = imageObj;

                //构造SendMessageToWXReq请求
                SendMessageToWXReq req = new SendMessageToWXReq();
                req.BText   = false;
                req.Message = msg;
                req.Scene   = (int)WXScene.Timeline;

                //发送数据
                var         result    = WXApi.SendReq(req);
                UIAlertView alertView = new UIAlertView("", "分享结果:" + result, null, "取消");
                alertView.Show();
            }
            catch (Exception ex)
            {
                UIAlertView alertView = new UIAlertView("", "异常:" + ex, null, "取消");
                alertView.Show();
            }
        }
Пример #3
0
        //分享图片类型
        private void BtnImage_Click(object sender, EventArgs e)
        {
            Bitmap bitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.Icon);

            //设置缩略图
            Bitmap thumb = Bitmap.CreateScaledBitmap(bitmap, 50, 50, true);

            bitmap.Recycle();
            MemoryStream ms = new MemoryStream();

            thumb.Compress(Bitmap.CompressFormat.Png, 0, ms);
            byte[] bytes = ms.ToArray();

            //初始化WXImageObject,设置分享的图片
            WXImageObject imgObj = new WXImageObject(bitmap);

            //初始化WXMediaMessage对象
            WXMediaMessage msg = new WXMediaMessage();

            msg.MyMediaObject = imgObj;
            msg.ThumbData     = bytes;

            //构造一个Req请求
            SendMessageToWX.Req req = new SendMessageToWX.Req();
            req.Transaction = Guid.NewGuid().ToString();
            req.Message     = msg;
            req.Scene       = SendMessageToWX.Req.WXSceneSession;

            //发送数据
            api.SendReq(req);
        }
Пример #4
0
        /// <summary>
        /// 分享一张图片
        /// </summary>
        /// <param name="shareBitmap">网页链接</param>
        /// <param name="isWXSceneTimeline">true:分享到朋友圈;false:分享给好友</param>
        /// <returns>无</returns>
        public void ShareImage(Bitmap shareBitmap, bool isWXSceneTimeline)
        {
            WXImageObject  imgObj = new WXImageObject(shareBitmap);
            WXMediaMessage msg    = new WXMediaMessage();

            msg.MyMediaObject = imgObj;

            Bitmap thumbBmp = Bitmap.CreateScaledBitmap(shareBitmap, THUMB_SIZE, THUMB_SIZE, true);

            using (MemoryStream stream = new MemoryStream())
            {
                shareBitmap.Compress(Bitmap.CompressFormat.Png, 100, stream);
                msg.ThumbData = stream.ToArray();  //设置缩略图
            }
            SendMessageToWX.Req req = new SendMessageToWX.Req()
            {
                Transaction = buildTransaction("img"),
                Message     = msg,
                Scene       = isWXSceneTimeline ? WECHAT_SHARE_TYPE_FRENDS
                         : WECHAT_SHARE_TYPE_TALK,
            };
            mWXApi.SendReq(req);
        }