截屏 或 截取某个view的界面(给view拍照)
来源:互联网 发布:java hashcode 源码 编辑:程序博客网 时间:2024/06/08 20:00
基本原理就是主要将UIView的layer描绘到图形上下文。UIView全局拍照和局域拍照的代码如下:
1 UIView全局拍照
- - (UIImage *) screenImage:(UIView *)view {
- UIImage *screenImage;
- UIGraphicsBeginImageContext(view.frame.size);
- [view.layer renderInContext:UIGraphicsGetCurrentContext()];
- screenImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return screenImage;
- }
2 UIView局域拍照
- - (UIImage *) screenImage:(UIView *)view rect:(CGRect)rect {
- CGPoint pt = rect.origin;
- UIImage *screenImage;
- UIGraphicsBeginImageContext(rect.size);
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextConcatCTM(context,
- CGAffineTransformMakeTranslation(-(int)pt.x, -(int)pt.y));
- [view.layer renderInContext:context];
- screenImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return screenImage;
- }
截屏
- UIGraphicsBeginImageContext(self.window.bounds.size);
- [self.window.layer renderInContext:UIGraphicsGetCurrentContext()];
- UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
保存为图片
- NSData * data = UIImagePNGRepresentation(image);
- if ([UIImagePNGRepresentation(viewImage) writeToFile:path atomically:YES])
- {
- NSLog(@"Succeeded!");
- NSLog(@"%@",path);
- }
- else
- {
- NSLog(@"Failed!");
- }
- 截屏 或 截取某个view的界面(给view拍照)
- 截屏 或 截取某个view的界面(给view拍照)
- iOS截取某个view
- android截取view的视图 截取屏幕
- 截取手机屏幕中某个View的图像,并以图片形式保存到本地相册
- android截屏,截取当前View
- Android 截取View,获取View的Bitmap的方法
- 截取View当前的图像保存成View
- View界面刷新的方法
- Android 如何让某个view悬浮在其他界面之上?
- 如何让某个view悬浮在其他界面之上?
- 截取Android任意View的图像
- Android截取某一个view的屏幕
- 获取某个view 的 截图的方法
- 获取listview某个item的view对象
- iOS view截取图片
- 导出某个view
- 有界面(Activity或其他View)的SDK项目混淆发布
- android 常见死机问题--log分析
- 排序算法——选择排序
- dorado导出excel的一些问题
- 做做假账~~~
- linux更新zip包中的某一个(一些)文件
- 截屏 或 截取某个view的界面(给view拍照)
- 集合类Map的用法
- swfobject.embedSWF的应用与div的层的覆盖问题
- 【100题】判断一个序列是不是一个BST的后序遍历
- lisp 语法与语义
- [centos6.2] find的命令 查找系统中的大文件 并 列出大小
- android游戏开发基本坐标控制与大致思路
- linux下更新zip包(war包也可以)某一个(或一些)文件
- WIN7安装Datastage 8.5检查环境报错:Microsoft Windows Script Engine 必须正常工作