2017-10-14 68 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

回答