我想画一个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