合并两个UIImages

时间:2010-12-07 07:14:20

标签: image ios4 uiimage

我有imageA(取自用户的iPhone相机)和imageB,一个带有傻边框的图像(例如),有足够的透明alpha空间。

我想要做的是合并这两个图像,将imageB放在imageA上,然后将它们保存为imageC以用于其他工作。

有办法做到这一点吗?

干杯

到目前为止我已经知道了

-(void)merge
{
    CGSize size = CGSizeMake(320, 480);
    UIGraphicsBeginImageContext(size);

    CGPoint thumbPoint = CGPointMake(0,0);
    UIImage *imageA = imageView.image;
    [imageA drawAtPoint:thumbPoint];

    UIImage* starred = [UIImage imageNamed:@"imageB.png"];

    CGPoint starredPoint = CGPointMake(0, 0);
    [starred drawAtPoint:starredPoint];

    UIImage *imageC = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    imageView.image = imageC;
}

我看不到/不知道我在这里做错了什么

2 个答案:

答案 0 :(得分:3)

该代码看起来是正确的(虽然我建议将其转换为使用创建的CGBitmapContext进行线程安全),但imageB应该是JPEG吗? JPEG不支持透明度,因此,为了使混合工作,它应该是PNG。

答案 1 :(得分:3)

请注意,对于视网膜支持,您应该使用:UIGraphicsBeginImageContextWithOptions(size, YES, 0); // 0 means let iOS deal with scale for you

相关问题