2
我已在我的iOS应用程序中实施CIFilter以profileImages。我添加了方向以防止像素化,但我患有纵横比“ScaleAspectFill”未应用于图像。彩色相同的图像具有完美的纵横比...即,当我只是有:CIFilter已更改UIImage长宽比 - SWIFT
self.p1ProfilePic.image = p1Img
- 我指定精确的高度和宽度在故事板的轮廓图像。
- 我已经尝试添加编程的.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)
好东西,谢谢。快速的问题 - 如果我在我的应用程序中使用多个对黑白图像(如上图)的引用...是否更好地运行过滤器并存储黑白图像? CIFilter是否会损害内存和性能? –
如果它是相同的图像,请将其保存为CIImage。一个CIImage不是一个内存占用位图,它实际上是创建一个图像的指令,直到它被转换为可呈现格式(如UIImage)才会“实现”。 CIFilters也很轻便。我可以虚心地建议我自己的书,“Swift的核心图像”:) https://itunes.apple.com/gb/book/core-image-for-swift/id1073029980?mt=13 –
我想我要去存储两个图像,并允许用户根据需要轻松地在两者之间切换。为了节省每次或者甚至多次加载单元格/视图都需要运行的操作。感谢您的信息,将检查出来! –