iOS微信截屏分享
来源:互联网 发布:mac的应用程序不见了 编辑:程序博客网 时间:2024/06/03 17:57
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
- iOS微信截屏分享
- 分享 iOS
- iOS社会化分享-iOS系统分享,shareSDK分享,Umeng分享
- iOS - 社交分享- weibo分享
- [iOS创业经验分享]
- ios开发书籍分享
- iOS sharekit分享
- IOS 分享 牛人 Demo
- iOS开发心得分享
- IOS软件工程师课程分享
- IOS源码分享
- 一些iOS资源分享
- ios短信分享功能
- ios qq 分享 失败
- iOS 友盟分享
- iOS开发~社区分享
- iOS sharekit分享
- iOS工程结构分享
- ZooKeeper完全分布式安装与配置
- 洛谷P2709 小B的询问
- 笔记:Android用户界面 -- (一)
- LeetCode 136. Single Number 题解—— Java
- JAVA 内存泄露详解(原因、例子及解决)
- iOS微信截屏分享
- Spring中的ContextLoaderListener使用
- 异常Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
- STL一级空间配置器
- maven实战(三)maven创建简单web项目
- 能不能通俗的讲解下傅立叶分析和小波分析之间的关系?
- C++调用C库
- java使用jdbc+odbc方式连接access数据库
- Android Studio NDK