gpt4 book ai didi

swift - 使用 CIFilter 实现移轴图像效果

转载 作者:行者123 更新时间:2023-11-30 13:46:43 25 4
gpt4 key购买 nike

我有一个圆形 ImageView 。我设置了它的图像并给出了色调效果,如下所示,效果很好。

    let filter = CIFilter(name: "CIPhotoEffectTonal")!
filter.setDefaults()
...

filter.setValue(startImage, forKey: kCIInputImageKey)
let filteredImageData = filter.valueForKey(kCIOutputImageKey) as! CIImage
let filteredImage = ciContext.createCGImage(filteredImageData, fromRect: filteredImageData.extent)

我想提供另一种效果,例如 Instagram 上的倾斜移位,使 ImageView 边缘的照片更亮/更模糊。这样,圆形 ImageView 和背景之间的色差将被消除/减少。

有什么办法可以实现吗?

最佳答案

我使用以下代码部分解决了我的问题。

谢谢@Eric D,你的链接为我指明了道路。

 func vignetteEffect(image: UIImage) -> UIImage {

let originalImage = image
let ciContext = CIContext(options: nil)
let startImage = CIImage(image: originalImage)


// Vignette Effect
let vignetteFilter = CIFilter(name:"CIVignette")!
vignetteFilter.setDefaults()


let radius = 8

vignetteFilter.setValue(startImage, forKey:kCIInputImageKey)
vignetteFilter.setValue(-5, forKey:"inputIntensity")
vignetteFilter.setValue(radius, forKey:"inputRadius")

let filteredImageData = vignetteFilter.valueForKey(kCIOutputImageKey) as! CIImage
let filteredImageRef = ciContext.createCGImage(filteredImageData, fromRect: filteredImageData.extent)

return UIImage(CGImage: filteredImageRef)

}

关于swift - 使用 CIFilter 实现移轴图像效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34840481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com