我正在使用swift来开发图像过滤器视图。用户可以通过相机捕获图像或从图像库中选择一个图像。然后我的应用程序将根据该图像创建8个过滤器图像并将其显示给用户。用户可以选择其中一个过滤器图像以在更大的图像视图上显示。下面是生成过滤器图像的代码。如果图像很大,我的应用程序将创建一些大的过滤器图像,这会导致内存使用量增加。有没有办法减小滤镜图像的大小?
func outputImage(filter: CIFilter, originalImage: UIImage) -> UIImage{
let inputImage = CIImage(image: originalImage)
filter.setValue(inputImage, forKey: kCIInputImageKey)
let cgImage = context!.createCGImage(filter.outputImage!, fromRect: (filter.outputImage?.extent)!)
return UIImage(CGImage: cgImage, scale: 1, orientation: originalImage.imageOrientation)
}
答案 0 :(得分:0)
要缩小图像尺寸,您可以使用:
newImage = UIImageJPEGRepresentation(image: UIImage, compressionQuality: CGfloat)