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

标签 iphone xcode uiimageview overlay watermark

基本上,我想拍摄用户从照片库中选择的图像,然后应用水印,即右下角的一个三角形,上面有应用程序名称。我已经在 Photoshop 中使用透明层制作了第二张图像。

我尝试了一个函数,我不记得它的确切名称,但它涉及 CGIImages 和蒙版。这将两个图像组合在一起,但作为 mask ,这使得透明层所在的图像变暗,并且图像本身并未合并,只是被 mask 了。

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

谢谢。

最佳答案

这很简单:

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

UIGraphicsBeginImageContext(backgroundImage.size);
[backgroundImage drawInRect:CGRectMake(0, 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, 0, backgroundImage.size.width, backgroundImage.size.height)];
[watermarkImage drawInRect:CGRectMake(0, 0, backgroundImage.size.width, backgroundImage.size.height)];
...

关于iPhone,如何将一张图像叠加到另一张图像上以创建要保存的新图像? (水印),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7020077/

相关文章:

ios - 找不到框架 GoogleDataTransportCCTSupport

iphone uiscrollview 和 uiimageview - 设置初始缩放

iphone - 如何在 iOS 5 的 segue 之间设置 Storyboard UIViewController 的属性?

iphone - 为什么我的观察员未注册?

iPhone 和 iPad 应用程序具有不同的 UI 但名称相同

ios - 在 RxSwift 中调度订阅

iphone - CoreLocation 和 Adhoc 分发的问题

ios - 如何在应用程序中访问 Xcode 的 "Supporting Files"组中的文件?

ios - 使用 UITextView 以垂直列表格式显示图像后跟文本

swift - 带有图像的动态 UITableView