【问题标题】:save an image with two UIImageView which has two images - ios [duplicate]用两个 UIImageView 保存一个图像,该图像有两个图像 - ios [重复]
【发布时间】:2013-03-20 07:08:17
【问题描述】:
在我的应用程序中,我有两个UIImageViews,一个覆盖另一个。即)UIImageView-2 放置在UIImageView-1 上。 UIImageView-2 中的图像是透明的,所以现在我的图像覆盖了另一个图像。现在我需要将这两个保存为单个图像。在ios中可以吗?请指教..
示例视图如下:红色标记是网球图像视图中的图像。
【问题讨论】:
标签:
iphone
ios
objective-c
xcode
uiimageview
【解决方案1】:
希望以下方法对您有所帮助。
-(CGImageRef )mergedImageFromImageOne:(UIImage *)imageOne andImageTwo:(UIImage *)imageTwo
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
CGSize imageSize = imageOne.size;
UIGraphicsBeginImageContext(sizeVideo);
[imageOne drawInRect:CGRectMake(0,0,imageSize.width,imageSize.height)];
[imageTwo drawInRect:CGRectMake(0,0,imageSize.width,imageSize.height) alpha:1];
CGImageRef imageRefNew = CGImageCreateWithImageInRect(UIGraphicsGetImageFromCurrentImageContext().CGImage, CGRectMake(0,0,imageOne.width,imageOne.height));
UIGraphicsEndImageContext();
[pool release];
return imageRefNew;
}
【解决方案2】:
我拍摄了一张徽标图片,它设置在主图片上作为应用程序参考。
所以你可以参考这个,试试你的图片。
根据您的图像设置宽度(w)和高度(h)。
试试这个 ::
UIImage *img_Logo = [UIImage imageNamed:@"Img_Logo.png"];
CGSize newSize = CGSizeMake(w, h);
UIGraphicsBeginImageContext(newSize);
// Use existing opacity as is
[main_image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
// Apply supplied opacity
[img_Logo drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:0.8];
main_image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
imgView.image = main_image;
希望,这会对你有所帮助。
谢谢。