0

在一个视图控制器中有两个视图控制器,我正在拍摄快照,而在另一个视图控制器中,我正在显示被选中的快照。

我正在处理图像,我需要在执行此操作时拍摄快照,我得到白色背景。不知道为什么会出现这个?如下图(有三个图像视图,最初的图像视图有一个透明的图像视图,然后是背景的身体图像视图和纹身图像视图。)

在此处输入图像描述

当我拍摄屏幕截图时,我隐藏了背景图像。我将视图 alpha 设置为 1.0f,我将视图背景颜色设置为清除颜色

输出屏幕截图是

在此处输入图像描述

我的代码是

    self.backgroundImgView.hidden=YES;
self.view.backgroundColor=[UIColor clearColor];
self.view.alpha=1.0f;
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
 UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGRect rect;
rect = CGRectMake(appDelegate.xFloat, appDelegate.yFloat, appDelegate.widthFloat, appDelegate.heightFloat);
    CGImageRef imageRef = CGImageCreateWithImageInRect([viewImage CGImage], rect);
UIImage *img = [UIImage imageWithCGImage:imageRef];
appDelegate.tattooImg=img;
CGImageRelease(imageRef);
4

1 回答 1

1

在 self.view 上制作一个UIView像 holderview.... 然后在 holderview 上添加两个图像而不是 self.view .... 然后保存屏幕截图,从 holderview 中获取...

于 2012-12-14T07:46:23.657 回答