ios - UIImage 未使用 AspectFit 填充 UIImageView

标签 ios swift uiimageview

我正在制作一个音乐播放器应用程序,我想要在专辑封面图像上进行高斯模糊,因此我实现了下面的代码,但图像没有填充UIImageView:

let bgView = UIImageView(frame: CGRect(x: 0, y: 0, width: frame.width, height: frame.width))
let image = CIImage(image: (currentSong?.info.albumCover)!)
let blurFilter = CIFilter(name: "CIGaussianBlur")
blurFilter?.setValue(image, forKey: "inputImage")
let resultImage = blurFilter?.value(forKey: "outputImage") as! CIImage
let blurredImage = UIImage(ciImage: resultImage)
bgView.image = blurredImage
bgView.contentMode = UIViewContentMode.scaleAspectFit
self.addSubview(bgView)

我认为将内容模式更改为 scaleAspectFit 可以解决此问题,但事实并非如此

更新:

下面的代码为我提供了所需的图像尺寸,但没有模糊。应用模糊是否会导致图像大小不同?

let bgView = UIImageView(frame: CGRect(x: 0, y: 0, width: frame.width, height: frame.width))
    let image = CIImage(image: (currentSong?.info.albumCover)!)
    bgView.image = image
    bgView.contentMode = UIViewContentMode.scaleAspectFit
    self.addSubview(bgView)

最佳答案

我认为您需要一个由 CGImage 支持的 UIImage,而不是 CIImage。 尝试将您的 CIImage 渲染为 CGImage 并从该 CGImage 创建您的 UIImage。请参阅Getting a CGImage from CIImage了解如何做到这一点。

关于ios - UIImage 未使用 AspectFit 填充 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45652355/

相关文章:

ios - Xamarin Forms - TapGestureRecognizer 不适用于 iOS

iphone - 我的 Default.png 使用什么样的图像?我正在使用 iPhone 5's native resolution WITH the status bar, but it won' t 工作

ios - 纯粹在 Swift 中 React Native 应用程序

objective-c - 无法为 UIImageView 设置图像

ios - 当下一个文本字段开始编辑时 View 返回中心

ios - 我如何知道我的 iOS Safari 内容拦截器是否已启用?

ios - 在 Swift 中获取按钮图像文件名

ios - 在 tableviewheader 中使用 UITextField 进行 self.view.endEditing 时崩溃

swift - 使 UIImageview 旋转取决于另一个 UIImageview 旋转

ios - 闪烁的 UIImageView