2011-11-08 10 views
5

enter image description herecome creare un forte effetto bagliore rosso sul UILabel

Ho bisogno di implementare effetto bagliore esterno sul UILabel (o CATextLayer) come sopra. So di creare l'effetto bagliore sul testo, ho bisogno di ombra con offset (0,0). Ho toccato fino al livello quartz2D, in seguito è il codice che sto usando:

_backgroundDownLabel.layer.shadowColor = self.glowColor.CGColor; // red 
    _backgroundDownLabel.layer.shadowOffset = CGSizeMake(0, 0); 
    _backgroundDownLabel.layer.shadowOpacity = 1; 
    _backgroundDownLabel.layer.shadowRadius = self.glowAmount; // tried 1-10 
    _backgroundDownLabel.layer.masksToBounds = NO; 

Problema: quando uso RGB (1,0,0) colore come il colore dell'ombra di creare un bagliore rosso, il risultato è troppo sottile, il che significa che il bagliore rosso non è abbastanza forte. D'altra parte, il progettista del client mi ha inviato un file PSD, in cui il colore del bagliore è luminoso e forte. Immagino che non sia un semplice bagliore ma un filtro di Photoshop, forse un bagliore esterno o qualche combinazione.

Quindi, c'è un modo per codice che posso fare qualcosa di simile?

risposta

2

io non sono sicuro di quello che stai chiedendo, ma penso che questo sarà di aiuto: IPhone Text Glow Effect

Inoltre, se si desidera creare un bagliore rosso come il .psd sopra, perché non solo convertirlo a .png e usarlo nella tua app?

EDIT:

Ho appena trovato una soluzione al vostro problema da Brad Larson's Advanced iPhone Development Courses su iTunes U. Si dovrà scaricare il corso note sopra a Brad Larson's profilo (Bisogna avere Voodoo Pad per aprirli) e vai nelle note del disegno 2D di Quartz sotto "pianificazione". Quindi dovrai scaricare il codice di esempio chiamato "QuartzExample".
Spero che questo ti aiuti se non hai già trovato una soluzione.

+0

hey grazie per l'aiuto, ho bisogno di visualizzare parole dinamiche con bagliore rosso, png non aiuterà –

+0

@Chris Chen ho cambiato la mia risposta sopra, spero che aiuti. –

1

Se davvero si vuole un controllo completo, allora dovete disegnare ... Qualcosa di simile:

for (int i = 0; i < SOME_NUMBER; i++) 
{ 
    CGContextSetShadowWithColor(UIGraphicsGetCurrentContext(), 
           CGSizeZero, 
           i * SOME_FACTOR, 
           [UIColor redColor].CGColor); 
    [text drawAtPoint... 
} 

E poi sperimentare con SOME_NUMBER e SOME_FACTOR.

+0

In qualche modo l'ombra non riassume, solo il disegno del testo – Pascalius

Problemi correlati