我已经在我的iOS应用中实现了一个CIFilter来profileImages。我已添加方向以防止像素化,但我正在遭受宽高比" ScaleAspectFill"没有应用于图像。相同的彩色图像具有完美的宽高比......即。当我刚才:
self.p1ProfilePic.image = p1Img
我在这里缺少什么?的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)
答案 0 :(得分:9)
使用您的技术从UIImage
创建CIImage
会创建不尊重contentMode
的图片。试试这个:
let ciContext = CIContext()
let cgImage = ciContext.createCGImage(filter.outputImage!,
fromRect: filter.outputImage!.extent)
self.p1ProfilePic.image = UIImage(CGImage: cgImage)
干杯!
西蒙