/**
* 截取当前屏幕 并修改
*
* @return NSData **/
- (UIImage *)imageWithScreenshot
{
CGSize imageSize=CGSizeZero;
UIInterfaceOrientation orientation=[UIApplication sharedApplication].statusBarOrientation;if(UIInterfaceOrientationIsPortrait(orientation))
imageSize=[UIScreen mainScreen].bounds.size;elseimageSize=CGSizeMake([UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width);
UIGraphicsBeginImageContextWithOptions(imageSize, NO,0);
CGContextRef context=UIGraphicsGetCurrentContext();for (UIWindow *window in[[UIApplication sharedApplication] windows])
{
CGContextSaveGState(context);
CGContextTranslateCTM(context, window.center.x, window.center.y);
CGContextConcatCTM(context, window.transform);
CGContextTranslateCTM(context,-window.bounds.size.width * window.layer.anchorPoint.x, -window.bounds.size.height *window.layer.anchorPoint.y);if (orientation ==UIInterfaceOrientationLandscapeLeft)
{
CGContextRotateCTM(context, M_PI_2);
CGContextTranslateCTM(context,0, -imageSize.width);
}else if (orientation ==UIInterfaceOrientationLandscapeRight)
{
CGContextRotateCTM(context,-M_PI_2);
CGContextTranslateCTM(context,-imageSize.height, 0);
}else if (orientation ==UIInterfaceOrientationPortraitUpsideDown) {
CGContextRotateCTM(context, M_PI);
CGContextTranslateCTM(context,-imageSize.width, -imageSize.height);
}if([window respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)])
{
[window drawViewHierarchyInRect:window.bounds afterScreenUpdates:YES];
}else{
[window.layer renderInContext:context];
}
CGContextRestoreGState(context);
}
UIImage*image =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();//修改图片
NSData *imageData =UIImagePNGRepresentation(image);
UIImage*LastImage =[UIImage imageWithData:imageData];
UIImage*img = [UIImage imageNamed:@"ico_nursery.png"];
CGImageRef imgRef=img.CGImage;
CGFloat w=CGImageGetWidth(imgRef);
CGFloat h=CGImageGetHeight(imgRef);//以1.png的图大小为底图
UIImage *img1 =LastImage;
CGImageRef imgRef1=img1.CGImage;
CGFloat w1=CGImageGetWidth(imgRef1);
CGFloat h1=CGImageGetHeight(imgRef1);//以1.png的图大小为画布创建上下文
UIGraphicsBeginImageContext(CGSizeMake(w1, h1 + 100));
[img1 drawInRect:CGRectMake(0, 0, w1, h1)];//先把1.png 画到上下文中
[img drawInRect:CGRectMake(10, h1 + 10, 80, 80)];//再把小图放在上下文中
UIImage *resultImg = UIGraphicsGetImageFromCurrentImageContext();//从当前上下文中获得最终图片
UIGraphicsEndImageContext();//关闭上下文
returnresultImg;
}