我有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;
}
我看不到/不知道我在这里做错了什么
答案 0 :(得分:3)
该代码看起来是正确的(虽然我建议将其转换为使用创建的CGBitmapContext进行线程安全),但imageB
应该是JPEG吗? JPEG不支持透明度,因此,为了使混合工作,它应该是PNG。
答案 1 :(得分:3)
请注意,对于视网膜支持,您应该使用:UIGraphicsBeginImageContextWithOptions(size, YES, 0); // 0 means let iOS deal with scale for you