2012-04-12 13 views
1

Wie füge ich einen Strich zu Text in Flex 4 hinzu? Insbesondere möchte ich es zu einem Label hinzufügen (der Text wird darin geändert).Wie fügen Sie dem Text einen Strich hinzu?

aktualisieren
Die vorgeschlagene nächste Lösung wurde ein Schlagschatten-Filter hinzufügen, wie unten gezeigt. Ich habe ein Rechteck mit einem Strich zum Vergleich hinzugefügt. Wenn das Strichgewicht zwischen 2 und 3 liegt, ist es akzeptabel. Wenn es darüber oder darunter ist, dann ist es zu verschwommen oder rauh. In meinem Fall muss ich 2 bis 6 Gewicht tragen.

Eine Folgefrage wäre, ist es möglich, einen Hub-Filter durch Pixel Bender zu erstellen.

<s:VGroup> 

<s:Label text="Select an example on the left. Right-click to view source." 
     color="#FF8C00" 
     top="10" left="10" 
     fontSize="25"> 
    <s:filters> 
     <s:DropShadowFilter blurX="2" blurY="2" distance="0" quality="1" strength="10" color="#000000"/> 
    </s:filters> 
</s:Label> 

<s:Rect width="100%" radiusX="8" radiusY="8" 
     height="18"> 
    <s:fill> 
     <s:SolidColor color="#FF8C00"/> 
    </s:fill> 
    <s:stroke> 
     <s:SolidColorStroke weight="1" /> 
    </s:stroke> 
</s:Rect> 

<s:Label text="Select an example on the left. Right-click to view source." 
     color="#FF8C00" 
     top="10" left="10" 
     fontSize="25"> 
    <s:filters> 
     <s:DropShadowFilter blurX="4" blurY="4" distance="0" quality="1" strength="10" color="#000000"/> 
    </s:filters> 
</s:Label> 

<s:Rect width="100%" radiusX="8" radiusY="8" 
     height="18"> 
    <s:fill> 
     <s:SolidColor color="#FF8C00"/> 
    </s:fill> 
    <s:stroke> 
     <s:SolidColorStroke weight="2" /> 
    </s:stroke> 
</s:Rect> 

<s:Label text="Select an example on the left. Right-click to view source." 
     color="#FF8C00" 
     top="10" left="10" 
     fontSize="25"> 
    <s:filters> 
     <s:DropShadowFilter blurX="6" blurY="6" distance="0" quality="1" strength="10" color="#000000"/> 
    </s:filters> 
</s:Label> 

<s:Rect width="100%" radiusX="8" radiusY="8" 
     height="18"> 
    <s:fill> 
     <s:SolidColor color="#FF8C00"/> 
    </s:fill> 
    <s:stroke> 
     <s:SolidColorStroke weight="3" /> 
    </s:stroke> 
</s:Rect> 

<s:Label text="Select an example on the left. Right-click to view source." 
     color="#FF8C00" 
     top="10" left="10" 
     fontSize="25"> 
    <s:filters> 
     <s:DropShadowFilter blurX="8" blurY="8" distance="0" quality="1" strength="10" color="#000000"/> 
    </s:filters> 
</s:Label> 

<s:Rect width="100%" radiusX="8" radiusY="8" 
     height="18"> 
    <s:fill> 
     <s:SolidColor color="#FF8C00"/> 
    </s:fill> 
    <s:stroke> 
     <s:SolidColorStroke weight="4" /> 
    </s:stroke> 
</s:Rect> 

</s:VGroup> 
+0

Innerhalb des Flash-Animationstools müssten Sie den Text in Konturen umwandeln und dann einen Strich anwenden, aber natürlich können Sie dann den Text im Code nicht ändern. – jhocking

Antwort

6

Nur so, wie ich weiß, wie ist es, einen wirklich anzuwenden, wirklich stark GlowFilter mit einem winzigen Verwischradius.

Etwas wie:

var stroke:GlowFilter = new GlowFilter(0x000000, 1, 2, 2, 10, 1); 
field.filters = [stroke]; 
+0

Das habe ich in der Vergangenheit benutzt, aber die Ergebnisse waren unbefriedigend. –

+0

Ja, leider glaube ich nicht, dass es einen anderen Weg gibt. – Marty

+0

mit einem kleinen "blurX/blurY" und einer hohen festigkeit funktioniert das recht gut. sei einfach vorsichtig mit zu vielen Filtern – divillysausages

0

Sie können nicht auf diese Weise auf Text anwenden, aber Sie können den Text als Grafiken neu zu zeichnen und die Umrisse auf diese Weise erstellen.

Sie eine Bibliothek wie degrafa verwenden könnte, oder schauen Sie auf (oder verwenden), um die Typografie Klasse innerhalb five3d, die Schriften in Grafiken Typography3D Es gibt auch eine Anwendung konvertiert, die Sie Schriftarten Motive konvertieren, so dass Sie jede verwenden können Schriftart auf diese Weise.

so im Wesentlichen ist es möglich, aber die Frage ist, ob es das wert ist.

+0

Ich habe mir das angesehen. Du sagst also, wenn ich meinen Text in eine Bitmap umwandele (ich weiß, wie das geht), kann ich das irgendwie umreißen? Gibt es dafür eine API? –

+0

Nein, es ist keine Bitmap. Was es tut, ist es wandelt die Schriftart Glyphen in eine Reihe von Zeichenanweisungen. Mit diesen können Sie die Linien dann manuell zeichnen. – Daniel

+0

Die Schriftarten werden dynamisch sein, so dass ich sie nicht vorher einbetten kann. –

2

Ein Schlagschattenfilter mit einem Abstand von 0 funktioniert auch, der Winkel ist nicht wichtig. Etwas wie:

var shadow:DropShadowFilter = new DropShadowFilter(0, 90, 0x000000, 1, 10, 10, 10); 
text.filters = [shadow]; 
+0

Dies ist ein wenig besser als der Glow-Filter . Bei einem Gewicht von 1 bis 2. Weniger als das ist es zu grob. Hinter all dem ist es zu verschwommen. Ich habe ein paar Vergleiche im Originalbeitrag hinzugefügt. –

+0

+1: die einfachste und effektivste Lösung – Zac

Verwandte Themen