Verre dépoli (iOS 7 Flou) Effet
Je suis en train d'appliquer une verre dépoli effet dans une UIImageView.
J'ai essayé de mettre en œuvre ce que j'ai trouvé dans cette question, mais le résultat n'était pas acceptable.
Je voulais quelque chose comme ceci:
Aussi, nous pouvons voir que iOS 7 utilise ce genre d'effet dans beaucoup d'endroits. Comment peut-on reproduire?
- Voici la solution avec UIToolbar: stackoverflow.com/a/19506076/774394
- Je l'ai mentionné quelque chose de semblable à Modifier 2 - il fait usage d'un UIToolbar aussi
- Oui, vous avez raison. Mais cette solution fonctionne sur l'animation du cadre/de limites avec UIView animation.
- Voici la manière la plus rapide de visualiser en temps réel le flou de mise en œuvre (à l'aide d'accélérer cadre): github.com/nicklockwood/FXBlurView !temps réel flou dans le simulateur ios
Vous devez vous connecter pour publier un commentaire.
Un bon tutoriel sur CoreImage est ici, en montrant comment appliquer des filtres et plus:
http://www.raywenderlich.com/5689/beginning-core-image-in-ios-5
Mise à JOUR de 1
Donc après un peu de recherche, j'ai fini par découvrir que la Base de l'Image de l'iOS est encore incomplète, si l'on compare à la version OS X de la bibliothèque. J'ai donc googlé beaucoup, et j'ai trouver deux solutions, l'une des plus simples, et l'autre, beaucoup plus large et complexe de la bibliothèque.
La simple et court de solution: https://github.com/esilverberg/ios-image-filters
L'incroyable et cette modification de la valeur, de la bibliothèque de traitement d'images et de vidéos avec l'OpenGL, GPUImage par Brad Larson. Il est beaucoup plus rapide et plus efficace que l'Image principale. Introduction: http://www.sunsetlakesoftware.com/2012/02/12/introducing-gpuimage-framework. GitHub: GPUImage
Ainsi, par exemple, en quelques lignes, je peux obtenir le résultat que je veux (où originalImage est le UIImage pour appliquer l'effet):
Mise à JOUR 2
Après Apple a annoncé iOS 7, certains développeurs trouvent une solution pour faire la même chose que Apple n'a par défaut dans les applications iOS, Apple n'a pas fournir une API pour que. La plus simple et la meilleure solution, à mon avis, est-ce un. Pourquoi je pense que c'est le meilleur? Parce que même si certains considèrent que derrière il se déplace, le flou ne fonctionne toujours très bien avec la mise à jour de l'effet, comme nous le prévoyons, il devrait fonctionner. Cependant, gardez à l'esprit que cela dépend de l'iOS 7 SDK afin de travailler, et il peut être risqué si Apple change UIToolbar.
Mise à JOUR 3
Apple mentionné, lors de la WWDC 2013 (Session 226 - la mise en Œuvre de Mobiliser de l'INTERFACE utilisateur sur iOS), ils assureront une catégorie de classe sur UIImage, appelé UIImage+ImageEffects (je l'ai googlé, et trouvé ici, mais il est disponible en Le Portail des développeurs de recherche pour UIImageEffects dans la zone de recherche). Avec cette catégorie, vous pouvez appliquer l'effet de flou en statique UIImage, à l'aide de plusieurs méthodes (clair, foncé, avec une couleur spécifique, etc.). Aussi, hier J'ai vu ce composant et l'a trouvé très intéressant, comme vous pouvez appliquer l'effet (basée sur cette catégorie) dans un cadre.
Mise à JOUR 4
Enfin, sur iOS 8, Apple a publié de nouvelles classes qui peuvent faire vivre flou facilement. Avec
UIVisualEffect
etUIVisualEffectView
, vous pouvez rapidement ajouter live flou pour vos applications. Voici un bon tutoriel de Ryan Nystrom sur la façon d'utiliser ces classes (et dans le flou en général):Solution pour iOS 7 et 8, sans l'aide de CoreImage ou CoreGraphics à tous:
(en supposant que vous n'êtes pas en ciblant les versions antérieures à iOS 7; si vous l'êtes, vous aurez pour tester la version d'iOS dans le
else
bloc)Cette solution s'applique à tout point de vue, non seulement les images.
À L'Aide De UIImageEffects
Si vous voulez plus de contrôle lors de l'application de flou, vous pourriez faire usage de la Pomme de
UIImageEffects
(disponible par le biais de leur exemple de code).Vous pouvez copier le code pour
UIImageEffects
de Apple Developer Library : Le flou et la Teinte d'une ImageEt voici comment l'utiliser :
Prendre un coup d'oeil à l'Image principale Guide de Programmation. Il semble que le styliser filtre et la filtre de flou peuvent répondre à vos besoins. Je n'ai jamais travaillé avec Core Image avant, mais je pense qu'il y a peut-être quelques bonnes sessions de la WWDC qui les concernent. La documentation a une pièce de base de l'exemple de code ici.
NSArray *properties = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]; NSLog(@"%@", properties);