在我的应用程序中,我有两个UIImageViews
,它们叠加在另一个上面。即UIImageView-2
放在UIImageView-1
上。 UIImageView-2
中的图像是透明的,所以现在我有了另一个图像的图像。现在我需要将这两个保存为单个图像。在ios中有可能吗?请指教..
示例视图如下:红色标记是网球图像视图中的图像。
答案 0 :(得分:4)
希望以下方法可以帮助您。
-(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;
}
答案 1 :(得分:3)
我已经拍摄了一张徽标图片,该图片在主图片上设置为应用参考。
所以你可以参考这个,尝试使用你的图像。
设定宽度(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;
希望,这会帮助你。
感谢。
答案 2 :(得分:0)
为什么你不仅截取该部分的截图?