2017-10-14 95 views
0
import UIKit 
import QuartzCore 

class FirstView: UIView { 

    var copyright = CATextLayer() 

    override init(frame: CGRect) { 
     super.init(frame: frame) 

     ... 

     if let blurFilter = CIFilter(name: "CIGaussianBlur", 
            withInputParameters[kCIInputRadiusKey:20] 
     { 
      copyright.filters = [blurFilter] 
     } 
     layer.insertSublayer(copyright, at: 0) 
    } 

} 

我找不到其他方法。我希望能够到高斯模糊像CAGradientLayer或CAShapeLayer如何在Swift中的CATextLayer上应用GaussianBlur过滤器

+1

'CALayer'(和它的子类)是'UIView'的基本组件。 CoreImage的一部分'CIFilter'将*要求输入一个'CIImage'。有许多方法可以使用'UIView'(或称为'UIImage'或'CGImage')并获得一个'CIImage' - 但是因为你在谈论一个'CALayer'子类,所以我会考虑将'UIView'转换为一个'CIImage'和后面。 (或者是,看着像GPUImage这样的东西,可能需要几乎相同的东西。) – dfd

回答

相关问题