J'aimerais faire un texte rougeoyant qui ressemble à ce qu'il brille ou émet une lumière. En fait, cela serait fait avec une certaine floue en arrière-plan. Mais je n'ai rien trouvé dans l'iPhone SDK qui le ferait. P>
3 Réponses :
Que diriez-vous de rendant le texte dans un tampon initialement transparent à l'aide de la couleur de lueur souhaitée, puis appliquez un flou dessus, puis rendu le texte à nouveau sur le dessus de la couleur de texte souhaitée. P>
Ensuite, vous pouvez dessiner la mémoire tampon partout où elle doit être. P>
Voir aussi les réponses à Comment est-ce que je Créez un texte flou dans une vue sur iPhone? " qui suggérerait que le cacao tactile manque de filtres flou intégrés. Vous pouvez écrire votre propre bien sûr. P>
Oui, c'est une bonne idée. Je pensais peut-être qu'il y a une bibliothèque qui fait exactement cela.
Vous pouvez le faire à l'aide du dessin de quartz pur. Au sein de -Drawrect: Pour un UIView ou -RenderIntextText: Pour une Calayer, le code suivant attirera du texte et appliquera une lueur autour de celui-ci:
CGContextSetShadowWithColor( context, CGSizeMake( 0.0, 0.0 ), 20.0f, glowColor ); [text drawAtPoint:CGPointMake(0.5f, 0.5f) withFont:[UIFont fontWithName:@"Helvetica" size:16.0f]];
Ça a l'air bien! C'est à peu près la façon dont j'essaierais dans un programme de graphisme vectoriel. Alors, quand je comprends ce droit, mon texte ne doit pas être trop long, car la lueur est essentiellement une version à l'échelle du texte, où les pixels les plus centraux sont au-dessus de l'autre et les plus gauches / droites diffèrent principalement de leurs clones sous-lieueth, non?
BTW: cette technique pourrait-elle également être utilisée pour appliquer de la lueur sur tout contenu d'une vue? AFAIK Un UIView a une image en cache en tant que contenu où un effet pourrait être appliqué pour faire apparaître tout ce qui est floue ... Je dirais qu'une sorte d'algorithme gaussien est nécessaire pour cela. Mais c'est probablement une question différente.
Cela devrait appliquer une lueur au contour du contenu du vecteur de quartz que vous dessinez après l'appel CGContexTextsSetShadowWithColor (). Pour le contenu de l'image, cela fera probablement une lueur autour des frontières de l'image. Pour brouiller le contenu, vous auriez probablement besoin de le dessiner comme des vecteurs, mais laissez la couleur de course comme une couleur complètement claire. De cette façon, seule l'ombre montrerait.
Quelle est la variable de contexte? Comment le mettre?
Le contexte est le contexte de dessin actuel, où toutes les opérations de dessin génèrent leurs résultats. Dans le cadre de -Drawrect: méthode d'UIView Vous pouvez obtenir le contexte actuel à l'aide du code comme CGContextref context = uigraphicsgetcurrentContext (); code> pour Calayers, -RenderIntext: passe dans le contexte de dessin à utiliser.
J'ai créé un simple projet iOS4 basé sur la réponse ci-dessus de Bard Larson et Cocoanetics sur mon blog, Cliquez ici pour plus d'informations et de projets Source P>
Si vous voulez dire quelque chose comme ceci: activeden.net/item/xml -Text-progressif-Light-Glow-Effect / 47 740 ... Je cherche ça aussi. J'ai téléchargé la version flash, mais il utilise des appels d'API spécifiques au flash (spécifiquement un dropshadowfilter et une colortransform (avec mélange) qui ne sont pas au quartz autant que je sache ...