微信分享音乐-去除背景像素化边缘
WeChat Sharing Music - Get rid of background pixelated edges
我实现了微信分享音乐功能
在 iOS 上分享效果很好。但是在 Android 上分享时,背景的边缘是白色和像素化的。我在想是不是图片像素低造成的?我正在寻找摆脱那些像素化边缘的解决方案。
Android的代码:
WXMusicObject musicObj = new WXMusicObject();
musicObj.MusicUrl = link; // URL to open when the song is clicked
musicObj.MusicDataUrl = userAudioURL; // URL of actual music data
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = musicObj;
int imgId = (int)typeof(Resource.Drawable).GetField("icon").GetValue(null);
Bitmap thumbBitmap = BitmapFactory.DecodeResource(Forms.Context.Resources, imgId);
Bitmap thBitmap = Bitmap.CreateScaledBitmap(thumbBitmap, 150, 150, true);
thumbBitmap.Recycle();
using (System.IO.MemoryStream outStream = new System.IO.MemoryStream())
{
thBitmap.Compress(Bitmap.CompressFormat.Png, 150, outStream);
msg.ThumbData = outStream.ToArray();
}
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.Transaction = buildTransaction("music");
req.Message = msg;
req.Scene = SendMessageToWX.Req.WXSceneSession; //chat
mWxApi.SendReq(req);
终于找到了根本原因。在微信上分享音乐时,背景将设置为缩略图。
我使用更高像素的图像解决了这个问题,因此背景图像不会拉伸并且可以在没有像素化的情况下显示。
我实现了微信分享音乐功能
在 iOS 上分享效果很好。但是在 Android 上分享时,背景的边缘是白色和像素化的。我在想是不是图片像素低造成的?我正在寻找摆脱那些像素化边缘的解决方案。
Android的代码:
WXMusicObject musicObj = new WXMusicObject();
musicObj.MusicUrl = link; // URL to open when the song is clicked
musicObj.MusicDataUrl = userAudioURL; // URL of actual music data
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = musicObj;
int imgId = (int)typeof(Resource.Drawable).GetField("icon").GetValue(null);
Bitmap thumbBitmap = BitmapFactory.DecodeResource(Forms.Context.Resources, imgId);
Bitmap thBitmap = Bitmap.CreateScaledBitmap(thumbBitmap, 150, 150, true);
thumbBitmap.Recycle();
using (System.IO.MemoryStream outStream = new System.IO.MemoryStream())
{
thBitmap.Compress(Bitmap.CompressFormat.Png, 150, outStream);
msg.ThumbData = outStream.ToArray();
}
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.Transaction = buildTransaction("music");
req.Message = msg;
req.Scene = SendMessageToWX.Req.WXSceneSession; //chat
mWxApi.SendReq(req);
终于找到了根本原因。在微信上分享音乐时,背景将设置为缩略图。
我使用更高像素的图像解决了这个问题,因此背景图像不会拉伸并且可以在没有像素化的情况下显示。