有人给了我以下功能
func saveImage(image1:UIImage, image2:UIImage) -> UIImage {
let size1 = image1.size
let size2 = image2.size
let origin = CGPoint(x: size1.width-size2.width, y: size1.height - size2.height)
UIGraphicsBeginImageContextWithOptions(size1, false, 0.0)
image1.draw(in: CGRect(origin: CGPoint.zero, size: size1))
image2.draw(in: CGRect(origin: origin, size: size2))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage!}
这个人说它将保存到图像视图,同时图像视图1被打印在小右手部分的图像视图2上。问题是我不知道如何用我有的代码调用这个函数。
import UIKit
class ViewController: UIViewController {
var image1 = UIImage(named: "hat.jpg")
var image2 = UIImage(named: "cat.jpg")
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func TakePhoto(_ sender: Any) {
}}
答案 0 :(得分:0)
你没有提供太多信息,但我会捅它。
假设您要显示的两个图像是image1
类中的属性image2
(hat.jpg)和ViewController
(cat.jpg)。< / p>
让我们进一步假设函数saveImage
位于ViewController
类中。
让我们进一步假设您希望执行此任务的时间点是在调用TakePhoto
时。
让我们进一步假设您知道如何处理最终图像。
如果这些都是真的,那么:
@IBAction func TakePhoto(_ sender: Any)
{
let newImage = saveImage(image1: image1, image2: image2)
// Do something with 'newImage'
}
关于提供给您的saveImage
功能的快速说明:image2
将与image1
的右下角对齐(并覆盖在其上)。如果image2
(cat.jpg)大于image1
(hat.jpg),那么你的猫将不会戴帽子,而是完全覆盖帽子。在任一方向(宽度或高度或两者)都可以是这种情况。
确保您的两张图片(猫/帽)彼此按比例调整大小。