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)); }
//分享图片 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(); } }
//分享图片类型 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); }
/// <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); }