2017-10-14 7 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またはCAShapeLayerSwiftのCATextLayerでGaussianBlurフィルタを適用する方法

+1

'CALayer'(とそのサブクラス)は、' UIView'の基本コンポーネントです。 CoreImageの一部である 'CIFilter'は' CIImage'の入力を要求します*。 'UIView'(または' UIImage'や 'CGImage')を呼び出して' CIImage'を取得する方法がありますが、 'CALayer'サブクラスについて話しているので、' UIView'を'CIImage'とバック。 (あるいは、GPUImageのようなものを見ると、まったく同じことが必要になるかもしれません)。 – dfd

答えて

1

filtersプロパティなどの任意の層をGaussianBlurできるようにしたいのはiOSの中で、このプロパティは、iOS版のレイヤでサポートされていません

特別な考慮事項は利用できません。

https://developer.apple.com/documentation/quartzcore/calayer/1410901-filters

おそらくあなたは、第三者ぼかしライブラリを使用することができます。 GPUImageは一般的で堅牢です。

関連する問題