我正在制作照片编辑应用程序,我必须将两个图像合并为另一个像这样。
我已实施以下代码来执行此操作:
这里imgedit是背景图片和
imgEdit是包含imgedit的UIImageView。
UIImage *tempImg = [UIImage imageNamed:[NSString stringWithFormat:@"borderImg"]];
CIImage *inputBackgroundImage = [[CIImage alloc] initWithImage:imgedit];
CIImage *inputImage = [[CIImage alloc]initWithImage:tempImg] ;
CIFilter *filter = [CIFilter filterWithName:@"CISourceOverCompositing"];
[filter setDefaults];
[filter setValue:inputImage forKey:@"inputImage"];
[filter setValue:inputBackgroundImage forKey:@"inputBackgroundImage"];
CIImage *outputImage1 = [filter valueForKey:@"outputImage"];
CIContext *context = [CIContext contextWithOptions:nil];
imgEdit.image = [UIImage imageWithCGImage:[context createCGImage:outputImage1 fromRect:outputImage1.extent]];
但实现上述代码后我得到的 outputImage是:
我还尝试使用以下代码调整大小输入白框图像:
tempImg=[tempImg resizedImageToSize:CGSizeMake(imgEdit.image.size.width,imgEdit.image.size.height)];
通过使用上面的代码图像得到适当调整大小,但这也无法正常工作。
请从这里帮助我。
您的宝贵帮助将受到高度赞赏
谢谢你提前。
答案 0 :(得分:3)
更好的调整大小的方法如下:
inputImage = [inputImage imageByApplyingTransform:CGAffineTransformMakeScale(inputBackgroundImage.extent.size.width/inputImage.extent.size.with, inputBackgroundImage.extent.size.height/inputImage.extent.size.height)];