Ich möchte einen leuchtenden Text machen, der aussieht, als würde er leuchten oder Licht ausstrahlen. Eigentlich würde dies mit etwas Verschwommenheit im Hintergrund geschehen. Aber ich habe nichts im iPhone SDK gefunden, das es tun würde.Gibt es einen einfachen Weg oder eine Bibliothek, um Text leuchten zu lassen?
Antwort
Sie können dies mit reinem Quarzzeichnen tun. Innerhalb -drawRect: für eine UIView oder -renderInContext: für eine CALayer, wird der folgende Code Text ziehen und ein Glühen anwenden um ihn herum:
CGContextSetShadowWithColor(context, CGSizeMake(0.0, 0.0), 20.0f, glowColor);
[text drawAtPoint:CGPointMake(0.5f, 0.5f) withFont:[UIFont fontWithName:@"Helvetica" size:16.0f]];
wo Text ist ein NSString und glowCOLOR ist ein CGColorRef für das Glühen Sie möchte sich bewerben. In diesem Beispiel wird ein Schein dargestellt, der 20 Pixel vom Helvetica-Text mit 16 Punkten entfernt und auf den Text zentriert ist.
Sie können dies leicht in einen Schatten umwandeln, indem Sie eine andere Verschiebung (zweites Argument in der ersten Funktion) und einen schwarzen CGColor für den Schatten verwenden.
Klingt gut! Das ist so, wie ich es in einem Vektor-Grafikprogramm versuchen würde. Wenn ich das richtig verstanden habe, sollte mein Text nicht zu lang sein, weil das Glühen im Grunde eine skalierte Version des Text, wo die meisten zentralen Pixel übereinander liegen und die meisten linken/rechten unterscheiden sich hauptsächlich von ihren Klonen underneeth, oder? –
btw: Könnte diese Technik auch verwendet werden, um Glow auf irgendeinen Inhalt einer Ansicht anzuwenden? afaik a UIView hat eine cached Bild als Inhalt, wo ein Effekt angewendet werden könnte, um alles unscharf erscheinen zu lassen ... ich würde sagen, dass dafür ein Gaussian Algorithmus benötigt wird, aber das ist wahrscheinlich eine andere Frage. –
Dies sollte ein Glühen auf die Umrisse des beliebigen Quartz-Vektor-Inhalts anwenden, den Sie nach dem Aufruf von CGContextSetShadowWithColor() zeichnen. Bei Bildinhalten wird es wahrscheinlich nur um die Ränder des Bildes herum leuchten. Um den Inhalt zu verwischen, müssten Sie ihn wahrscheinlich als Vektoren zeichnen, die Strichfarbe jedoch als vollständig klare Farbe belassen. Auf diese Weise würde nur der Schatten zeigen. –
Wie wäre es, den Text mit der gewünschten Leuchtfarbe in einen anfänglich transparenten Puffer zu rendern, dann eine Weichzeichnung darauf anzuwenden und den Text dann erneut in der gewünschten Textfarbe über den Rand zu rendern.
Dann können Sie den Puffer zeichnen, wo immer es sein muss.
Siehe auch die Antworten auf "How do I create blurred text in an iPhone view?", die darauf hinweisen, dass Cocoa Touch keine eingebauten Unschärfefilter hat. Sie können natürlich Ihre eigenen schreiben.
Ja, das ist eine gute Idee. Ich dachte, vielleicht es gibt eine Bibliothek, die genau das tut –
ich ein einfaches iOS4 Projekt erstellt basierend auf Antwort oben von Bard Larson und Cocoanetics auf meinem Blog, click here for further info and project source
- 1. Gibt es eine Bibliothek oder einen Weg, um die Integrität von Videodateien mit JavaScript zu überprüfen?
- 2. Java: Gibt es einen einfachen, schnellen Weg, um AND, OR oder XOR zusammen zu setzen?
- 3. Gibt es einen einfachen Weg, von binär zu ACSII wie charCodeAt geht von Text zu ASCII?
- 4. Gibt es einen richtigen Weg, um eine URL zu erstellen?
- 5. Gibt es einen einfachen/eingebauten Weg, um eine exakte Kopie (Klon) eines XAML-Elements zu erhalten?
- 6. Gibt es einen einfachen Weg in Linux, um eine Website von Text von der Befehlszeile zu entfernen?
- 7. Gibt es einen einfachen Weg in R, um nur die Textelemente einer HTML-Seite zu extrahieren?
- 8. Gibt es einen besseren Weg, um Rubys Basisklassen zu "affen"?
- 9. Gibt es einen einfachen Weg in Python zu warten, bis eine bestimmte Bedingung erfüllt ist?
- 10. Gibt es einen Weg, oder was ist der "akzeptierte" Weg, um alle Fenster im laufenden Prozess laufen zu lassen?
- 11. Gibt es eine Python-Bibliothek zum einfachen Schreiben zoombarer Benutzeroberflächen?
- 12. Gibt es einen einfachen Weg mit NSDateFormatter, um "Today", "Tomorrow", "Friday" Style Termine zu bekommen?
- 13. Gibt es einen einfachen Weg, um den Sprachcode von einem Ländercode in PHP
- 14. Gibt es einen einfachen Weg, um von C# auf die Webcam zuzugreifen?
- 15. Gibt es eine Möglichkeit, einen Prozess "aufwärmen" zu lassen?
- 16. Gibt es einen einfachen GUI-basierten Weg, um Diagramme in neo4j zu erstellen?
- 17. Gibt es einen kurzen Weg, um `{| x | zu schreiben x} `?
- 18. Gibt es einen Weg, um zu überprüfen, ob die Anwendung zuvor heruntergeladen wurde oder nicht?
- 19. Gibt es einen richtigen Weg, um mein CSS zu gestalten?
- 20. Gibt es eine statische Bibliothek, um ein Framework zu erstellen?
- 21. Gibt es eine Android-Bibliothek, um Gitarrenakkorde zu erkennen?
- 22. CATextLayer NSBackGroundColorAttributeName gibt es eine Möglichkeit, es funktioniert zu lassen?
- 23. Gibt es einen einfachen Weg (Wrapper/Dictionary) von Keys Enum zu SenKeys String zu konvertieren?
- 24. jQueryLightbox funktioniert wie Dropdown? zu kompliziert? Gibt es einen einfachen Weg?
- 25. Gibt es einen einfachen CLI Java-Linter?
- 26. Gibt es einen einfachen JavaScript-Slider?
- 27. Gibt es einen einfachen Weg in PHP, um von Strings wie '256M', '180K', '4G' zu ihren ganzzahligen Äquivalenten zu konvertieren?
- 28. Gibt es eine gut typisierte Scala (oder Java) Bibliothek, um JSON Web APIs zu nutzen?
- 29. Gibt es einen Weg oder ein Werkzeug, um automatisch alle Seiten meiner Site zu besuchen?
- 30. Gibt es eine Möglichkeit, um programmatisch einen UILabel zu lassen seine intrinsische Inhaltsgröße bestimmt
Wenn Sie so etwas wie dies bedeuten: http://activeden.net/item/xml-text- progressive-light-glow-effect/47740 ... ich suche das auch. Ich habe die Flash-Version heruntergeladen, aber es verwendet Flash-spezifische API-Aufrufe (speziell ein DropShadowFilter und eine ColorTransform (mit Blending), die nicht in Quarz sind, soweit ich weiß ... –