在Swift中分层图像

时间:2015-05-06 04:44:41

标签: ios swift core-graphics cgrect

我的目标是叠加两张图片(第一张照片来自相机胶卷,第二张是卡通幽灵的PNG)。

我已经足够远,以至于我将相机胶卷图像和选定的重影图像传递给视图控制器。但我遇到的问题是如何以可用的方式对这些图像进行分层。

我可以通过几种方式在原始照片中流动(通过从图像视图开始或通过在视图中以编程方式创建一个),我可以在它上面添加鬼(我主要是以编程方式执行此操作)。

但是我只能手动控制幽灵的大小和位置。我希望它以原始图像为中心并匹配其高度或宽度,具体取决于哪个更小,因为它可以是水平或垂直。

经过一夜的搜索,我发现空白。但肯定有一种方法可以抓住图像视图的坐标并进行计算,对吧?

以下是我所拥有的:

import UIKit

class TwoLayerViewController: UIViewController {

@IBOutlet weak var bottomLayerImage: UIImageView!

var originalPhoto: UIImage?
var chosenGhostPhoto: UIImage?


override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    bottomLayerImage.image = originalPhoto
    bottomLayerImage.contentMode = UIViewContentMode.ScaleAspectFit

    var ghostView = UIImageView(frame:CGRectMake(bottomLayerImage.frame.origin.x, bottomLayerImage.frame.origin.y, 100, 100))

    ghostView.image = chosenGhostPhoto
    ghostView.backgroundColor = UIColor.grayColor()
    bottomLayerImage.addSubview(ghostView)   
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
}

0 个答案:

没有答案