合并两个UIImage为1保存图书馆

时间:2011-07-14 08:29:45

标签: ios uiimage

我想知道如何将2 uiimage合并为1?我想将最终产品保存到库中。为了保存图像,我正在使用UI按钮。这是我如何保存UIImageview.image的片段。

-(IBAction)getPhoto:(id)sender  {

UIImage* imageToSave = imageOverlay.image;

UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil);
}

我在线查看了UIGraphicsBeginImageContext。找到了一个例子,但我无法理解如何将它实际应用到我的。这是我到目前为止的那个。

- (UIImage*)addImage:(UIImage *)image secondImage:(UIImage *)image2 
{
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0,0,image.size.width,image.size.height)];
[image2 drawInRect:CGRectMake(10,10,image2.size.width,image2.size.height) blendMode:kCGBlendModeNormal alpha:1.0];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return newImage;
}

现在我有2个UIImageviews,它们是imageOverlay.image和imageView.image。如果我使用上面的方法如何将返回值分配给UIImageWriteToSavedPhotoAlbum?希望有人能指出我正确的方向。

非常感谢。

3 个答案:

答案 0 :(得分:2)

看起来你的头文件中没有方法的标题,在运行IBAction的类/视图控制器的.h文件中,添加方法的第一行, - ( UIImage *)addImage:...并以a结尾;在@end之前。这应该工作,虽然你必须在同一个.h文件的.m文件中实现它。

答案 1 :(得分:1)

试试这个:

-(IBAction)getPhoto:(id)sender  {

UIImage* imageToSave = [self addImage:imageOverlay.image secondImage:imageView.image];

UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil);
}

答案 2 :(得分:1)

创建一个NSLog,并像这样传递它们,image1和image2是你的图像:

NSLog (@"testing images aren't nil. Details for image1: %@ image2: %@",image1,image2);

我也是一个新手,我真的不知道一种更复杂的方式来看看图像是否为零,但我看到通过将一张零图像传递给上面的陈述,你只会得到零而不是这两个图像的值。如果您获得了大量信息,即使它们有很多代码,您也可能不理解它们,正如我通常所做的那样,至少您可以测试它们是否为零。