ios开发中常用的截取指定区域的视图转换成图片

来源:互联网 发布:2016淘宝客服工资高吗 编辑:程序博客网 时间:2024/05/12 16:52
 -(void)fullScreenshots{UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow];    UIGraphicsBeginImageContext(screenWindow.frame.size);//全屏截图,包括window    [screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()];    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);}objective c 截屏代码-(void)save{UIGraphicsBeginImageContext(mybackgroundview.bounds.size); //currentView 当前的view[mybackgroundview.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);  //保存到相册中}截取 您想要的一层UIGraphicsBeginImageContext(CGSizeMake(320, 300)); //currentView 当前的view[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);  //保存到相册中截取自定义的大小iPhone开发应用中抓图程序案例实现是本文要介绍的内容,主要是通过代码来实现抓图程序,具体实现过程,一起来看详细代码。    //获得屏幕图像      - (UIImage *)imageFromView: (UIView *) theView        {                    UIGraphicsBeginImageContext(theView.frame.size);          CGContextRef context = UIGraphicsGetCurrentContext();          [theView.layer renderInContext:context];          UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();          UIGraphicsEndImageContext();                    return theImage;      }           //获得某个范围内的屏幕图像      - (UIImage *)imageFromView: (UIView *) theView   atFrame:(CGRect)r      {          UIGraphicsBeginImageContext(theView.frame.size);          CGContextRef context = UIGraphicsGetCurrentContext();          CGContextSaveGState(context);          UIRectClip(r);          [theView.layer renderInContext:context];          UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();          UIGraphicsEndImageContext();                    return  theImage;//[self getImageAreaFromImage:theImage atFrame:r];      } 

0 0