ios android 截屏 分享,iOS截屏并修改截图然后分享的功能实现
/**
* 截取当前屏幕 并修改
*
* @return NSData **/
- (UIImage *)imageWithScreenshot
{
CGSize imageSize=CGSizeZero;
UIInterfaceOrientation orientation=[UIApplication sharedApplication].statusBarOrientation;if(UIInterfaceOrientationIsPortrait(orientation))
imageSize=[UIScreen mainScreen].bounds.size;elseimageSize=CGSizeMake([UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width);
UIGraphicsBeginImageContextWithOptions(imageSize, NO,0);
CGContextRef context=UIGraphicsGetCurrentContext();for (UIWindow *window in[[UIApplication sharedApplication] windows])
{
CGContextSaveGState(context);
CGContextTranslateCTM(context, window.center.x, window.center.y);
CGContextConcatCTM(context, window.transform);
CGContextTranslateCTM(context,-window.bounds.size.width * window.layer.anchorPoint.x, -window.bounds.size.height *window.layer.anchorPoint.y);if (orientation ==UIInterfaceOrientationLandscapeLeft)
{
CGContextRotateCTM(context, M_PI_2);
CGContextTranslateCTM(context,0, -imageSize.width);
}else if (orientation ==UIInterfaceOrientationLandscapeRight)
{
CGContextRotateCTM(context,-M_PI_2);
CGContextTranslateCTM(context,-imageSize.height, 0);
}else if (orientation ==UIInterfaceOrientationPortraitUpsideDown) {
CGContextRotateCTM(context, M_PI);
CGContextTranslateCTM(context,-imageSize.width, -imageSize.height);
}if([window respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)])
{
[window drawViewHierarchyInRect:window.bounds afterScreenUpdates:YES];
}else{
[window.layer renderInContext:context];
}
CGContextRestoreGState(context);
}
UIImage*image =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();//修改图片
NSData *imageData =UIImagePNGRepresentation(image);
UIImage*LastImage =[UIImage imageWithData:imageData];
UIImage*img = [UIImage imageNamed:@"ico_nursery.png"];
CGImageRef imgRef=img.CGImage;
CGFloat w=CGImageGetWidth(imgRef);
CGFloat h=CGImageGetHeight(imgRef);//以1.png的图大小为底图
UIImage *img1 =LastImage;
CGImageRef imgRef1=img1.CGImage;
CGFloat w1=CGImageGetWidth(imgRef1);
CGFloat h1=CGImageGetHeight(imgRef1);//以1.png的图大小为画布创建上下文
UIGraphicsBeginImageContext(CGSizeMake(w1, h1 + 100));
[img1 drawInRect:CGRectMake(0, 0, w1, h1)];//先把1.png 画到上下文中
[img drawInRect:CGRectMake(10, h1 + 10, 80, 80)];//再把小图放在上下文中
UIImage *resultImg = UIGraphicsGetImageFromCurrentImageContext();//从当前上下文中获得最终图片
UIGraphicsEndImageContext();//关闭上下文
returnresultImg;
}
ios android 截屏 分享,iOS截屏并修改截图然后分享的功能实现相关推荐
- ios android跨服务器,阴阳师ios怎么转安卓 阴阳师跨系统角色转移服务介绍_游侠手游...
阴阳师ios怎么转安卓?阴阳师在2021年1月20日更新后开启了跨系统角色转移服务试行,那么本次跨系统角色转移的规则是什么样的,ios和安卓之间转换需要满足什么条件呢?接下来就让我们一起了解一下吧. ...
- ios android 同步的备忘录,iOS 备忘录如何共享给好友编辑 / Android 如何实现下拉搜索 | 有轻功 #012...
「有轻功」是 AppSo 新栏目 它是「有用功」的迷你瘦身版 每天 10 秒钟 教你 1 个即学即用的手机技巧 微信号 appsolution 后台回复 「有轻功」获取该栏目的所有文章 这是第 12 ...
- 兼容iOS Android,React Native兼容iOS Android的TabBar
最近着手开发的一个兼容iOS.Android的TabBar.还在不断开发中! 欢迎fork,欢迎star. :p 自己捣鼓了个E文的readme,没啥难度凑合可看. react-native-tabs ...
- ios android与wp,在iOS与Android间选择WP
10月30日,微软发布了Windows Phone 8系统,并将在11月份开始发售相关搭载该系统的手机.在iOS.Android已经为广大用户所熟知的今天,WP8带来的的体验势必有所不同.其是否可以在 ...
- ios android app 混编,ios、android移动应用APP原生/混合定制开发
功能板块 - 注册模块 . 支付模块 . 工具类 . 个人中心 . 互动模块 . 新闻资讯模块 . 广告模块 . 通用模块 . 招聘模块 . 发单抢单 . 地图模块 . 聊天通讯 . 活动模块 . 电 ...
- ios android 联机游戏平台,iOS 和安卓游戏终于互通了
目前市面上绝大多数的游戏都分为 iOS 和安卓版,两个平台的玩家虽然可以联机对战,但游戏数据却不互通.玩家在更换不同平台的手机后,原有角色会因为系统更换而无法在新手机中继续使用. iOS 和安卓游戏数 ...
- ios android mid音频文件,ios – 使用MusicPlayer和Music Sequence播放midi文件
我使用以下代码成功地让iOS使用soundfont示例播放.mid(midi)文件: -(void) playMusic:(NSString*) name { NSString *presetURLP ...
- ios android统一开发平台,iOS EMAS 统一接入
使用说明 配置文件下载 配置文件下载请参考 iOS端配置文件:AliyunEmasServices-Info.plist 配置文件引用Xcode中,将AliyunEmasServices-Info.p ...
- ios android gpu,流畅秒杀iOS Android 4.0 GPU加速测试
作者:王鑫 Android 4.0系统从去年年底发布到现在已经有5个多月的时间了,源代码放出也已经四个多月,按照正常的速度来讲,Android 4.0早应该成为主流,而直到现在,厂商各种四核强机频频曝 ...
最新文章
- AI洞观 | AI寒冬将至?大咖们呼吁重启AI
- (Android 即时通讯) [悬赏],不管是谁发现一个漏洞奖励人民币1000元!
- Linux内核的namespace机制分析
- android打开项目更换版本,android1.6项目,换成其他包的方法,及修改默认启动虚拟机的版本...
- 【NOIP模拟】方格稿纸
- unity 4种实现动态障碍方法
- python从csv读取数据到网页输入框_python中怎么把csv文件读取的数据显示在网页上...
- oracle经常开关好吗,频繁开关机对电脑有什么影响吗?
- 32 bit 与 64 bit 程序(2)比较
- MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)
- java封装需要多久_Java对时间操作的一些封装函数
- html js 读取资源文件,使用HTML5和JQuery读取CSV(Text)文件的实例
- 【转】html5离线储存,application cache,manifest使用体验
- webservice 安全性 对外_WebService的安全性讨论【身份识别】
- 技术胖--前端学习html5表单美化部分笔记
- 使用Entrez下载文献
- DeeCamp 2020 挑战赛:通过深度学习识别生物电信号
- qiankun前端微服务框架-同一服务器同一端口
- 小满网络模型http1-http2 浏览器缓存
- HDMI接口简介---分辨率 时钟频率 lane速率计算
热门文章
- 计算机视觉--光流法(optical flow)简介
- mac电脑快速截图快捷键是什么?苹果mac电脑怎么截图?mac电脑截图的13种方法
- Could not generate persistent MAC address
- 光伏PID效应危害及修复方法之一
- javascript:_最佳JavaScript资源收藏:2020版
- 【通信原理】基于【MATLAB】的通信OFDM系统仿真
- 求是科学班计算机,浙江大学2010年“求是科学班”招生简介
- 帷幄空间数据平台 - 新零售人货场重构 新零售人货场的定义
- 定义一个Document类,有数据成员name,从Document派生出Book类,增加数据成员pageCount。
- This is Water