一番上の画像に正しい不透明度があると仮定すると、このようにすることができます。
あなたが言ったように、imageView.imageから画像を取得します:
ここから:上の画像のアルファ/透明度に基づいて 2 つの uiimage をブレンドします
UIImage *bottomImage = [UIImage imageNamed:@"bottom.png"];
UIImage *image = [UIImage imageNamed:@"top.png"];
CGSize newSize = CGSizeMake(width, height);
UIGraphicsBeginImageContext( newSize );
// Use existing opacity as is
[bottomImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
// Apply supplied opacity
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:0.8];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
その他の合成テクニックはこちら: http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-advanced-uiimage-techniques/