iPhone,如何将一个图像叠加到另一个图像上创建一个新的图像来保存? (水印)

前端之家收集整理的这篇文章主要介绍了iPhone,如何将一个图像叠加到另一个图像上创建一个新的图像来保存? (水印)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上,我想拍摄用户从他们的照片库中选择的图像,然后应用水印,右下方有一个三角形,其上有应用程序名称。我已经在Photoshop中创建了一个透明层的第二个图像。

我尝试了一个功能,我不记得确切的名字,但它涉及CGIImages和面具。这组合了这两个图像,但作为一个掩码,使图像更暗,透明层是什么,图像本身没有合并,只是掩盖了。

如何使水印图像与另一个图像合并,以形成UIImage,而不在屏幕上显示图像?

谢谢。

解决方法

这很简单:

UIImage *backgroundImage = [UIImage imageNamed:@"image.png"];
UIImage *watermarkImage = [UIImage imageNamed:@"watermark.png"];

UIGraphicsBeginImageContext(backgroundImage.size);
[backgroundImage drawInRect:CGRectMake(0,backgroundImage.size.width,backgroundImage.size.height)];
[watermarkImage drawInRect:CGRectMake(backgroundImage.size.width - watermarkImage.size.width,backgroundImage.size.height - watermarkImage.size.height,watermarkImage.size.width,watermarkImage.size.height)];
UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

如果您希望背景和水印的大小相同,请使用此代码

...
[backgroundImage drawInRect:CGRectMake(0,backgroundImage.size.height)];
[watermarkImage drawInRect:CGRectMake(0,backgroundImage.size.height)];
...

猜你在找的Xcode相关文章