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

iPhone, how does one overlay one image onto another to create a new image to save? (watermark)(iPhone,如何将一张图像叠加到另一张图像上以创建要保存的新图像?(水印))
本文介绍了iPhone,如何将一张图像叠加到另一张图像上以创建要保存的新图像?(水印)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Basically I want to take an image that the user chooses from their photo library and then apply a watermark, a triangle in the lower right that has the app name on it. I have the second image already made with a transparent layer in photoshop.

我尝试了一个函数,我不记得确切的名称,但它涉及 CGIImages 和掩码.这结合了两个图像,但是作为一个遮罩,这使得透明层所在的图像更暗,图像本身并没有合并,只是被遮罩了.

I tried a function, which I can't remember the exact name, but it involved CGIImages and masks. This combines the two images, but as a mask, which made the image darker where the transparent layer was and the images were not merged per se, just masked.

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

How would I get the watermark image to merge with another image, to make a UIImage, without displaying the images on the screen?

谢谢.

推荐答案

很简单:

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();

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

If you want the background and watermark to be of the same size then use this code

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

这篇关于iPhone,如何将一张图像叠加到另一张图像上以创建要保存的新图像?(水印)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
java.lang.IllegalStateException: SimpleTypeImpl should not be created for error type(异常:不应为错误类型创建SimpleTypeImpl)
Android IllegalArgumentException: The tag for fragment_XXX is invalid. Received: layout-sw600dp/fragment_XXX_0(Android IlLegalArgumentException:Fragment_XXX的标签无效。收到:Layout-sw600dp/Fragment_XXX_0)
iOS convert audio sample rate from 16 kHz to 8 kHz(IOS将音频采样率从16 kHz转换为8 kHz)
Enforcing an audio sampling rate in iOS(在iOS中强制音频采样率)