iOS微信截屏分享
2017-03-21 20:50
423 查看
1、需求:将截屏后的图片分享至微信好友或朋友圈。
2、问题:1、图片缩略图太大无法分享;2、分享的图片不够清晰。
3、描述:微信分享是需要设置两张图:需分享图的缩略图(大小有限制)和需分享的图(要求高清,分享个模糊图,体验差就没意义!)。
4、注意:按照微信要求缩略图大小不超过32k,但实质上在一定范围内,超过32k,也是可以分享出去的;
缩略图太大将导致分享失败。
上代码:
-(void)didClickShareBtn:(computeScoreView *)computeScoreView{
//1.像微信注册
[WXApi registerApp:kWXAppId];
//2.缩略图
WXMediaMessage * massage = [WXMediaMessage message];
[massage setThumbImage:[self thumbScaleImage]];
//3.高清大图
WXImageObject * iamgeOb = [WXImageObject object];
iamgeOb.imageData = UIImageJPEGRepresentation([self mediaImageObj], 1.0);
massage.mediaObject = iamgeOb;
//4.发送请求
SendMessageToWXReq * req = [[SendMessageToWXReq alloc]init];
req.bText = NO;
req.message = massage;
req.scene = WXSceneSession;
[WXApi sendReq:req];
}
/**缩略图**/
-(UIImage *)thumbScaleImage{
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 1.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
float scaleNum =1.0;
NSData * data =UIImageJPEGRepresentation(img, scaleNum);
float imageDataLength = data.length/1024.0;
/**按照微信要求缩略图大小不超过32k,但实质上在一定范围内,超过32k,也是可以分享出去的**/
while (imageDataLength>32.0) {
scaleNum = scaleNum - 0.1;
data =UIImageJPEGRepresentation(img, scaleNum);
imageDataLength = data.length/1024.0;
}
UIImage * finalImg = [UIImage imageWithData:data];
return finalImg;
}
/** 高清大图**/
-(UIImage *)mediaImageObj
{
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, YES, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData * data =UIImageJPEGRepresentation(img, 1.0);
return img;
}
优化篇:http://blog.csdn.net/lovehalok/article/details/72782450
2、问题:1、图片缩略图太大无法分享;2、分享的图片不够清晰。
3、描述:微信分享是需要设置两张图:需分享图的缩略图(大小有限制)和需分享的图(要求高清,分享个模糊图,体验差就没意义!)。
4、注意:按照微信要求缩略图大小不超过32k,但实质上在一定范围内,超过32k,也是可以分享出去的;
缩略图太大将导致分享失败。
上代码:
-(void)didClickShareBtn:(computeScoreView *)computeScoreView{
//1.像微信注册
[WXApi registerApp:kWXAppId];
//2.缩略图
WXMediaMessage * massage = [WXMediaMessage message];
[massage setThumbImage:[self thumbScaleImage]];
//3.高清大图
WXImageObject * iamgeOb = [WXImageObject object];
iamgeOb.imageData = UIImageJPEGRepresentation([self mediaImageObj], 1.0);
massage.mediaObject = iamgeOb;
//4.发送请求
SendMessageToWXReq * req = [[SendMessageToWXReq alloc]init];
req.bText = NO;
req.message = massage;
req.scene = WXSceneSession;
[WXApi sendReq:req];
}
/**缩略图**/
-(UIImage *)thumbScaleImage{
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 1.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
float scaleNum =1.0;
NSData * data =UIImageJPEGRepresentation(img, scaleNum);
float imageDataLength = data.length/1024.0;
/**按照微信要求缩略图大小不超过32k,但实质上在一定范围内,超过32k,也是可以分享出去的**/
while (imageDataLength>32.0) {
scaleNum = scaleNum - 0.1;
data =UIImageJPEGRepresentation(img, scaleNum);
imageDataLength = data.length/1024.0;
}
UIImage * finalImg = [UIImage imageWithData:data];
return finalImg;
}
/** 高清大图**/
-(UIImage *)mediaImageObj
{
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, YES, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData * data =UIImageJPEGRepresentation(img, 1.0);
return img;
}
优化篇:http://blog.csdn.net/lovehalok/article/details/72782450
相关文章推荐
- ios关于微信分享图片失效的问题
- quick-cocos2dx 截屏分享到 微信、微博等社交网络
- iOS:开放平台引用(二)--微信分享
- iOS开发-仿微信图片分享界面实现
- iOS开发-仿微信图片分享界面实现
- iOS 添加微信分享
- [通用问题] iOS 尚未配置微信URL Scheme:wx806574...., 无法进行分享
- iOS学习代码下载—ShareSDK分享到微信、微信朋友圈、QQ
- ios app分享的url在微信中打开app分析
- iOS 微信第三方分享突然不可使用,代码没有错误,只是分享时不能弹出微信客户端
- ios ,微信分享
- 【IOS和Android】Cocos2d-x 集成微信分享功能
- 解决iOS app集成分享到QQ空间,微信好友,朋友圈等功能,苹果审核无法通过的问题
- unity3d利用sharesdk分享内容至微信、新浪微博、qq空间等国内主流社交平台(ios篇)
- iOS QQ、QQ空间、微信好友、微信朋友圈分享成功如何显示图文
- ios微信分享---按照官方文档上配置缺不能正常启动微信客户端
- iOS:开放平台引用(二)--微信分享
- ios第三方分享到qq、微信、人人网、微博总结
- iOS集成QQ、微信、微博、短信、邮件分享(非第三方集成)
- 【iOS知识学习】_iPhone学习微信分享到好友/短信