天天看點

IOS 圖檔合成

轉自 http://taox.l.blog.163.com/blog/static/48365573201343095857725/

1、UIView轉換為UIImage

 UIGraphicsBeginImageContextWithOptions(bgView.bounds.size, NO, bgView.layer.contentsScale);


    [bgView.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();
      

2、兩張圖檔合成

- (UIImage *)addImage:(UIImage *)image1 toImage:(UIImage *)image2 {
    UIGraphicsBeginImageContext(image1.size);
         // Draw image1
    [image1 drawInRect:CGRectMake(0, 0, image1.size.width, image1.size.height)];
    // Draw image2
    [image2 drawInRect:CGRectMake(0, 0,image1.size.width, image1.size.height)];
      UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
         return resultingImage;
}
           

3.擷取螢幕内的圖檔

- (UIImage *)getImage:(UIImageView *)view
{
    CGSize size = CGSizeMake(view.frame.size.width, view.frame.size.height );
    UIGraphicsBeginImageContext(size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSaveGState(context);
    [view.layer renderInContext:context];
    UIImage * theImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return theImage;
}