2017-10-14 4 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) 
    } 

} 

anwendet Ich konnte andere Wege nicht finden. Ich möchte wie ein CAGradientLayer oder CAShapeLayerWie man GaussianBlur Filter auf einen CATextLayer in Swift

+1

'CALayer' (und seine Unterklassen) sind eine grundlegende Komponente einer' UIView'. 'CIFilter', Teil von CoreImage, benötigt * eine Eingabe von' CImage'. Es gibt Möglichkeiten, eine 'UIView' (oder sagen wir 'UIImage' oder' CGImage') zu nehmen und eine 'CImage' zu ​​bekommen - aber da du über eine' CALayer' Unterklasse sprichst, würde ich versuchen, eine 'UIView' in zu konvertieren ein 'CIImage' und zurück. (Oder ja, schauen Sie sich etwas wie GPUImage an, das vielleicht genau das Gleiche erfordert.) – dfd

Antwort

Verwandte Themen