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



我想画一个UIScrollview的缩略图。

这个滚动视图中有一个图像。但是用户可以缩放和平移图像。

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

我试过这个,但放大得越多,图像就越失真。

 //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
    }

建议?:)Swift&欢迎使用Objc代码!

您可能想看看这个:

在UIScrollView中裁剪UIImage,类似于";移动和缩放";

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

https://github.com/barrettj/BJImageCropper

最新更新