Swift 3
Trong ví dụ này frontImage đang được rút ra bên trong hình ảnh khác sử dụng một insetBy 20% lợi nhuận.
Hình nền phải được vẽ trước và sau đó là hình ảnh phía trước theo thứ tự.
Tôi sử dụng này để đặt một hình ảnh "Play" biểu tượng ở phía trước một hình ảnh khung hình bên trong một UIImageView như dưới đây:
Cách sử dụng:
self.image = self.mergedImageWith(frontImage: UIImage.init(named: "play.png"), backgroundImage: UIImage.init(named: "backgroundImage.png")))
Phương pháp:
func mergedImageWith(frontImage:UIImage?, backgroundImage: UIImage?) -> UIImage{
if (backgroundImage == nil) {
return frontImage!
}
let size = self.frame.size
UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
backgroundImage?.draw(in: CGRect.init(x: 0, y: 0, width: size.width, height: size.height))
frontImage?.draw(in: CGRect.init(x: 0, y: 0, width: size.width, height: size.height).insetBy(dx: size.width * 0.2, dy: size.height * 0.2))
let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return newImage
}
kiểm tra liên kết này: -http: //stackoverflow.com/questions/6690444/merging-two-uiimage-into-1-to -be-savedtolibrary – Leena
chuỗi bạn đã liên kết ... không hữu ích lắm: | – Vlad
kiểm tra http://stackoverflow.com/questions/9208951/ios-merging-two-images-of-different-size/9209044#9209044 –