UIScrollView裁剪使设备比例和缩放比例生效?

时间:2015-08-03 18:33:14

标签: ios swift uiscrollview

我正在尝试创建一个简单的裁剪功能,该功能可以实现设备屏幕密度和缩放比例

我基本上是在本教程中的代码之后建模的: https://www.youtube.com/watch?v=hz9pMw4Y2Lk

func cropImage(sender:AnyObject!) { //triggered by a button

    let myScale = UIScreen.mainScreen().scale

    var height = self.scrollView.bounds.height
    var width = self.scrollView.bounds.width

    UIGraphicsBeginImageContextWithOptions(CGSizeMake(width, height), true, myScale)
    let offset = scrollView.contentOffset

    CGContextTranslateCTM(UIGraphicsGetCurrentContext(), -offset.x, -offset.y)
    scrollView.layer.renderInContext(UIGraphicsGetCurrentContext())

    let image = UIGraphicsGetImageFromCurrentImageContext()

    UIGraphicsEndImageContext()

    //i would like to check here if target image is >300x300px
    if image.size.width > 300 && image.size.height > 300{

        println("image correct")
        println(image.size)

    } else {

        println("nope")
        println(image.size)
    }
}

到目前为止,我总是会得到一个bound.height / width的图像 - 这意味着在320设备上。一个8xp的前导/尾随差距,用户可能永远无法创建一个正确的图像"。

我理解为什么会这样,但我不明白我应该在哪里乘以UIScrollView的设备比例因子和/或缩放因子。

例如,在ScrollView上导入相机图片缩放比例为0.0 - 我希望将其保持在~8MP' ish。

0 个答案:

没有答案