iOS有关截图的操作


1.截取选中view的图片

 //根据size大小创建一个基于位图的图形上下文
    CGRect rect =view.frame;

    UIGraphicsBeginImageContext(rect.size);//根据size大小创建一个基于位图的图形上下文
    CGContextRef context = UIGraphicsGetCurrentContext();//获取上下文环境
    [view.layer renderInContext:context];//将要截取的view 映射到画布上

    UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); //获得图片
    UIGraphicsEndImageContext();
    imgvc.image = img;
    [view setHidden:YES];

2.两张图片 合成一张图片

 //根据 底层的imageview 大笑 来创建 画布
    UIGraphicsBeginImageContext(imgVC_bg.image.size);

    for (UIImageView *imgvc in array_imageView) {
        UIImage *img=imgvc.image;
        //画要添加到imgvc上的img
        [img drawInRect:CGRectMake(imgvc.frame.origin.x/double_proportion,(imgvc.frame.origin.y-64)/double_proportion,imgvc.frame.size.width/double_proportion,imgvc.frame.size.height/double_proportion)];
        [imgvc removeFromSuperview];
    }
    //在画底层imgvc,这样就会把img 添加到imgvc上来。
    [imgVC_bg.image drawInRect:CGRectMake(0, 0, imgVC_bg.image.size.width, imgVC_bg.image.size.height)];

    //形成新的image
    CGImageRef NewMergeImg = CGImageCreateWithImageInRect(UIGraphicsGetImageFromCurrentImageContext().CGImage,
                                                          CGRectMake(0, 0, imgVC_bg.image.size.width, imgVC_bg.image.size.height));
    UIGraphicsEndImageContext();
时间: 2024-11-05 14:40:38

iOS有关截图的操作的相关文章

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan)

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan,附上个节点的配置文件) 实验环境准备: 为了更好的实现分布式mitaka版本的效果.我才有的是VMware的workstations来安装三台虚拟机,分别来模拟openstack的controller节点 compute节点和cinder节点.(我的宿主机配置为 500g 硬盘 16g内存,i5cpu.强烈建议由条件的朋友将内存配置大一点,因为我之前分配的2g太卡.) 注

ios 常用字符串的操作

//将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];//将NSString 转化为NSData (NSString.h)- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; //载一个字符串中删除一个字符或字符串[_display deleteCharacte

【1】【IOS】 截图

1 UIGraphicsBeginImageContext(self.view.bounds.size);// 设置上下文 2 3 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];4 5 UIImage *image=UIGraphicsGetImageFromCurrentImageContext();//从当前上下文中获取image 6 7 UIGraphicsEndImageContext();//关闭上下文

在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤

原文:在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤 Xamarin 配置手册和离线包下载 http://pan.baidu.com/s/1eQ3qw8a 具体操作: 安装前提条件 1. 安装Visual Studio 2013,安装过程省略,我这里安装的windows10 + vs2013 with update 4. 2. 安装Java SDK,按照Next一步步安装,此处省略,如下图: 3. 安装Android SDK:因为在线安装的访

ios相机和相册操作

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{    UIImagePickerController * picker = [[UIImagePickerController alloc] init];    picker.delegate = self;        switch (buttonIndex) {        case 0:// 相机   

iOS 中SQLite数据库操作

在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 demo 具体过程: 1.创建名为 SQLite_Manage 的.h .m 文件,导入头文件 <sqlite3.h> 2.数据库在一个app中只有一个,使用单例模式:(代码如下) 1 + (SQLite_Manager *)sharedManager{ 2 static SQLite_Mana

iOS学习笔记——文件操作(NSFileManager)

iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录.               上面的完整路径为:用户->资源库->Application Support->iPhone Simulator->

IOS异步和多线程操作&amp;&amp;在sqlite3中的应用

1,数据库I/O操作(异步) 数据库本身是存储在磁盘上.访问和修改数据库,即对磁盘进行读写,即I/O操作. 磁盘属于计算机硬件,具有DMA能力,不需要CPU干预,可以实现异步操作. I/O操作一般是消耗时间,sqlite使用异步处理I/O操作. 当有多个事务对数据库进行操作,对应,也会有多个I/O操作. 操作系统将I/O操作,合理放入一个I/O队列.一次性将队列内的I/O操作提交给磁盘系统,并行处理多个I/O,提高效率.本人也没有特别深入研究. 2,异步和多线程 异步和多线程,都有能力实现,不阻

IOS中的线程操作(1)

IOS 上提供的多线程方法只要分为三种,1.NSThread 2.NSOperation 3.GCD ([self performSelectorInBackground:SEL withObject:id] 这个方法本质上也是一种多线程的方式),三种方式抽象程度越来越高,代码的编写难度也越来越简单. 1.NSThread: NSThread比其他两个都要更轻量级,但需要自己来管理线程的生命周期和同步,代码的编写上比其他两个复杂. NSThread提供了两种初始化方式,一种是传统的init方法