#import
//将整个self.view大小的图层内容创建一张图片image
UIGraphicsBeginImageCont
[self.view.layer renderInContext:UIGraphicsGetCurrentCont
UIImage *image= UIGraphicsGetImageFromCu
UIGraphicsEndImageContex
/
objective c 截屏代码
-(void)save{
UIGraphicsBeginImageCont
[mybackgroundview.layer renderInContext:UIGraphicsGetCurrentCont
UIImage *viewImage = UIGraphicsGetImageFromCu
UIGraphicsEndImageContex
UIImageWriteToSavedPhoto
}截取 您想要的一层
UIGraphicsBeginImageCont
[self.view.layer renderInContext:UIGraphicsGetCurrentCont
UIImage *viewImage = UIGraphicsGetImageFromCu
UIGraphicsEndImageContex
UIImageWriteToSavedPhoto
截取自定义的大小
方法1:
- (void)drawRect:(CGRect)rect {
CGContextRef context=UIGraphicsGetCurrentCont
//设置倒立
CGContextRotateCTM(context,M_PI);
//重新设置坐标 self.bounds获取整个屏幕的区域。
CGContextTranslateCTM(context, -self.bounds.size.width,-self.bounds.size.height);
//CGContextScaleCTM(context, 1.0, -1.0);
CGRect imageRect=recti;
//画底图
CGContextDrawImage(context, imageRect, image);
//填充颜色
CGContextSetRGBStrokeCol
CGContextFillRect(context,self.bounds);
CGRect ret=CGRectMake(0.0, 0.0, 180, 180);
//裁剪
CGContextClipToRect(context, ret);
//获取裁剪区域
CGRect boudsc=CGContextGetClipBounding
int cleft = boudsc.origin.x;
int ctop = boudsc.origin.y;
int cwidth = boudsc.size.width;
int cheight = boudsc.size.height;
//画出裁剪区域
CGContextDrawImage(context, self.bounds, image);
}
方法2:
UIImage *image=[UIImage imageNamed:@"**.png"];
创建矩形
根据矩形创建image
uiimageview.image=[UIimage imagewidthCGImage:CGImageCreateWidthImageI
将image添加到imageview中
显示view
参考:
NSLog( @" image width = %f,height = %f ",srcimg.size.width,srcimg.size.height);
UIImageView *imgview = [[UIImageView alloc] init];
imgview.frame = CGRectMake( 10, 150, 300, 220);
CGRect rect = CGRectMake( 0, 0, 300, 100);//要裁剪的图片区域,按照原图的像素大小来,超过原图大小的边自动适配
CGImageRef cgimg = CGImageCreateWithImageIn
imgview.image = [UIImage imageWithCGImage:cgimg];
CGImageRelease(cgimg);//用完一定要释放,否则内存泄露
[self.view addSubview:imgview];