2014-11-20 20 views
11

Sto sviluppando un'applicazione da un po 'e sto per finire. Ho la sfocatura delle immagini utilizzando la libreria UIImage+ImageEffects.h, ma ora voglio passare a gaussiana sfocatura un UIImageSwift Gaussian Blur an image

C'è qualche libreria o qualcosa di simile che mi permettesse di sfocatura gaussiana un'immagine nella mia app?

risposta

17

Io uso seguendo nella mia app.

func applyBlurEffect(image: UIImage){ 
    var imageToBlur = CIImage(image: image) 
    var blurfilter = CIFilter(name: "CIGaussianBlur") 
    blurfilter.setValue(imageToBlur, forKey: "inputImage") 
    var resultImage = blurfilter.valueForKey("outputImage") as CIImage 
    var blurredImage = UIImage(CIImage: resultImage) 
    self.blurImageView.image = blurredImage 

    } 
+2

È anche possibile utilizzare [__GPUImage__] (https://github.com/BradLarson/GPUImage) per eseguire anche molti filtri immagine. _GPUImage_ è talvolta affermato essere più veloce di _Core Image_. Ma se non fai molta sfocatura (come la sfocatura animata), penso che _Core Image_ sia la strada da percorrere: D – sikhapol

+1

Questa è la strada da percorrere; è una vera sfocatura convessa gaussiana. Tieni presente, tuttavia, che è un po 'lento su iOS! – matt

+0

@SikhapolSaijit Buon punto, grazie per averci ricordato di GPUImage. – matt

5

penso UIBlurEffect è ciò che si vuole, se si vuole evitare il ritardo. La seconda parte del tutorial this sulle tecniche di sfocatura gaussiana in iOS 8 ti guida attraverso l'aggiunta di UIBlurEffect a UIImage.