¿Cómo fusionar dos UIImages?

Estoy tratando de fusionar dos imágenes diferentes y crear una nueva. Esta es la manera que me gustaría hacer: tengo esta image (A): polaroid

Es una image PNG y me gustaría fusionar esta con otra image (B) que tomé del teléfono para crear algo como esto: Polaroid fusionado

Necesito una function que fusione A con B creando C. El tamaño debe permanecer de la image A y la image B debe adaptar automáticamente el tamaño para que quepa en la polaroid (A). ¿Es posible hacer eso? ¡Gracias por tu ayuda!

ACTUALIZACIÓN Solo una cosa, la image (A) es un cuadrado y la image que tomé es un 16: 9, ¿cómo puedo arreglar eso? ¡Si utilizo tu function, la image (B) que tomé se estira!

Espero que esto te pueda ayudar,

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!.drawInRect(areaSize) topImage!.drawInRect(areaSize, blendMode: kCGBlendModeNormal, alpha: 0.8) var newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() 

Todo lo mejor 🙂

De esta manera, la image superpuesta será mucho más limpia.

 class func mergeImages(imageView: UIImageView) -> UIImage { UIGraphicsBeginImageContextWithOptions(imageView.frame.size, false, 0.0) imageView.superview!.layer.renderInContext(UIGraphicsGetCurrentContext()!) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return image } 

introduzca la descripción de la imagen aquí