ios - 如何合并两个 UIImages?

标签 ios swift uiimage core-graphics

我正在尝试合并两个不同的图像并创建一个新图像。这是我想做的方式: 我有这张图片 (A):

polaroid

这是一张 PNG 图片,我想将这张图片与我从手机中获取的另一张图片 (B) 合并,以创建如下内容:

polaroid merged

我需要一个将 A 与 B 合并创建 C 的函数。尺寸必须与 A 图像相同,图像 B 应自动调整尺寸以适应宝丽来 (A)。有可能这样做吗?感谢您的帮助!

更新 只有一件事,图像 (A) 是一个正方形,而我拍摄的图像是 16:9,我该如何解决?如果我使用你的功能,我拍摄的图像 (B) 会被拉伸(stretch)!

最佳答案

希望对你有帮助

var bottomImage = UIImage(named: "bottom.png")
var topImage = UIImage(named: "top.png")

var size = CGSize(width: 300, height: 300)
UIGraphicsBeginImageContext(size)

let areaSize = CGRect(x: 0, y: 0, width: size.width, height: size.height)
bottomImage!.draw(in: areaSize)

topImage!.draw(in: areaSize, blendMode: .normal, alpha: 0.8)

var newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()

一切顺利:)

关于ios - 如何合并两个 UIImages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32006128/

相关文章:

c++ - iOS 和 OpenCV 错误 : Assertion Failed in PhaseCorrelateRes

swift - 快速子类化 UIView

ios - 在 Swift 中将 Any 类型的数据转换为字符串数组

ios - iPhone - 图像未在 UIButton 的中心对齐

ios - 如何在 swift 3 中将 UIImage 数组转换为 base64 数组?

ios - 像 Instagram iOS 应用一样自动隐藏和显示 UINavigationBar

ios - 在 FB.com 上删除应用程序后,FB 应用程序无法向 iOS 请求权限

iOS ARToolKit Xcode 实现

uiimageview - 在 IBAction 之前调用 prepareForSegue

ios - 导航栏 Obj-C 中的 Logo