ios - 如何将 "combine"两个 UIImageView 合并到一张图像中?喜欢 Photoshop 图层合并吗?

标签 ios uiimageview drawing

我有一个绘图应用程序,其中有一个 UIImageView 充当“绘图层”。它下面有另一个 UIImageView,它是“图像层”,包含您正在绘制的图像。我喜欢这种分离。但是,我希望用户能够将他们在图像之上制作的绘图作为一张统一图像“保存并通过电子邮件发送”。我该怎么做?

最佳答案

您的 UIImageView 实例必须是 UIView 层次结构的一部分,因此您需要做的就是将包含 UIView 的顶部绘制到上下文中

UIGraphicsBeginImageContext(CGSizeMake(width, height));

[container.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *fimage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

或者如果这给您带来麻烦,请将两个图像连续绘制到上下文中

UIGraphicsBeginImageContext(CGSizeMake(width, height));

[image1.layer renderInContext:UIGraphicsGetCurrentContext()];
[image2.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *fimage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

从那里您可以在您选择的位置写入数据

NSData *data = UIImagePNGRepresentation(fimage);

将该数据传递到 MailComposer 设置中。

关于ios - 如何将 "combine"两个 UIImageView 合并到一张图像中?喜欢 Photoshop 图层合并吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12602118/

相关文章:

ios - ScaleToFit 不起作用

css - 如何在看不到节点内的线的情况下绘制与文本节点相交的线

drawing - 已知其边长,绘制任意凸形状

android - 在 Canvas 上绘制圆圈,使它们在不同设备上大小相等或至少相当

ios - LLDB – 在任意对象的实例变量上设置观察点

html - 如何将图像添加到 <p> 并在 UIWebView 中使用?

ios - 图像文件更改后刷新 Swift 中的 UIImageView

ios - 如何在 Swift 中获取图像文件大小?

iphone - iOS 在 NSMutableDictionary 的键中添加对象(没那么简单)

ios - Firebase initWitURL 崩溃 [FRepo initTransactions] : unrecognized selector