绘制缩放&将UIScrollview的部分平移为新的UIImage

时间:2014-10-24 01:57:59

标签: ios objective-c swift uiscrollview uiimage

我想画一张UIScrollview的缩略图。

此滚动视图中包含图像。但是,用户可以缩放和平移图像。

当用户平移并缩放到他想要图片的位置时,我想创建他们设置的缩略图。基本上,我想创建一个全新的uiimage,大小为100x100,但使用scrollview当前显示的精确图像数据。

我尝试了这个,但是我放大的越多,图像变得越扭曲。

 //returns a smaller UIImage
    func generateThumbnailOfSize(size:CGSize)->UIImage
    {
        UIGraphicsBeginImageContext(_scrollView.bounds.size)
        _scrollView.layer.renderInContext(UIGraphicsGetCurrentContext())
        var fullsizeCroppedImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()
        CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, size.width, size.height), fullsizeCroppedImage.CGImage)
        var sizeAdjustedCroppedImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()//gets the image as it looks in the scrollview
        UIGraphicsEndImageContext()
        return sizeAdjustedCroppedImage
    }

建议?:) 斯威夫特& Objc代码欢迎!

1 个答案:

答案 0 :(得分:0)

您可能想看看这个:

Crop UIImage in UIScrollView like in "Move And Scale"

如果有人对更复杂的解决方案感兴趣:

https://github.com/barrettj/BJImageCropper