Wie zeichne ich einen Umriss um Text in AWT?

8

Wie kann ich einen Umriss um irgendeinen Text in AWT zeichnen, ähnlich wie dieses Bild?

    
Konrad Garus 04.04.2012, 17:08
quelle

5 Antworten

6

zwei Beispiele

Ausgabe von dieser Farbe wäre die BufferedImage , für AWT Komponenten verwenden Methode paint() , für Swing JComponents gibt es paintComponet()

Auch aus Code, der in einem Kommentar verlinkt ist:

    
mKorbel 04.04.2012, 18:21
quelle
2

Ich bin mir nicht sicher, wie Sie den Text jetzt zeichnen, aber Sie können BufferedImage auch als Überlagerung für das verwenden, was Sie gerade zeichnen.

  1. Erstellen Sie BufferedImage mit den Dimensionen der Zeichenfolge und der Schriftart, mit der Sie zeichnen möchten (sehen Sie sich hierzu die FontMetrics-Klasse an).
  2. Füllen Sie BufferedImage mit Transparenz.
  3. Zeichnen Sie Ihre Zeichenkette mit der von Ihnen gewünschten Farbe auf BufferedImage.
  4. Iterieren Sie über jedes Pixel in BufferedImage und sehen Sie, wie weit es von einem Pixel Ihrer Textfarbe entfernt ist. Wenn es sich in einer bestimmten Entfernung befindet, zeichne dieses Pixel schwarz und vielleicht transparenter, wenn es weiter von der Farbe deines Textes entfernt ist. Wenn das Pixel bereits die gleiche Farbe wie Ihre Textfarbe hat, ignorieren Sie es.
  5. Zeichnen Sie BufferedImage auf das, was Sie gerade malen.

BEARBEITEN

Es gibt vielleicht Bibliotheken, die das schon tun, aber wenn ich es von Grund auf neu programmieren müsste, würde ich das versuchen.

    
CodeBlind 04.04.2012 18:11
quelle
0

einige dümmste Problemumgehungen: - Geben Sie die gleichen Wörter zweimal ein, aber einer von ihnen ist schwarz und der andere weiß, weiß über dem schwarzen, Sie können etwas Ähnliches bekommen. -Finden Sie eine Schriftart wie oben über dem Beispiel und verwenden Sie sie.

    
guness 04.04.2012 17:15
quelle
0

Hier ist ein Hacky-Beispiel. Es ist nicht so raffiniert wie andere, aber es ist einfacher zu verstehen, und es verhält sich wie ein JLabel.

%Vor%     
Booyah Johnson 07.05.2014 14:52
quelle
0

Versuchen Sie Folgendes:

%Vor%     
Eddo 05.02.2016 10:42
quelle

Tags und Links