CIFilter已经改变了UIImage长宽比 – SWIFT
我在我的iOS应用程序中实现了一个CIFilter来profileImages。 我已经添加了方向来防止像素化,但是我正在忍受长宽比 “ScaleAspectFill”不适用于图像。 在颜色相同的图像有完美的长宽比…即,当我只有:
self.p1ProfilePic.image = p1Img
- 我已经为Storyboard中的configuration文件图像指定了确切的高度和宽度。
- 我已经尝试添加.contentMode编程方式为.ScaleAspectFill但没有任何效果。
-
我在这里错过了什么? 的CGRect?
let originalImageP1 = CIImage(image: p1Img!) let filter = CIFilter(name: "CIPhotoEffectTonal") filter!.setDefaults() filter!.setValue(originalImageP1, forKey: kCIInputImageKey) let outputImage = filter!.outputImage self.p1ProfilePic.image = UIImage(CIImage: outputImage!, scale: UIScreen.mainScreen().scale, orientation: .Up)
使用您的技术从CIImage
创buildUIImage
会创build不尊重contentMode
图像。 试试这个:
let ciContext = CIContext() let cgImage = ciContext.createCGImage(filter.outputImage!, fromRect: filter.outputImage!.extent) self.p1ProfilePic.image = UIImage(CGImage: cgImage)
干杯!
西蒙