Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-04-2009, 10:07   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
Question label oder text in image unwandeln

Hallo!

Kann man Label- bzw. Text-Elemente in ein Image-Element unwandeln?


Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Alt 16-04-2009, 18:04   #2 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Ort: Braunschweig
Beiträge: 164
Hallo,

man kann jedes DisplayObject in BitmapData abphotographieren
mittels BitmapData.draw() und dann daraus eine Bitmap resp.
ein BitmapAsset machen.

Ich hoffe, dies erfüllt den Zweck auch,
Matthias Kievernagel
mkiever ist offline   Mit Zitat antworten
Alt 17-04-2009, 13:40   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
Danke für den Hinweis!

Habe dieses Beispiel in der Dokumentation gefunden:

Code:
var tf:TextField = new TextField();
tf.text = "bitmap text";

var myBitmapData:BitmapData = new BitmapData(80, 20);
myBitmapData.draw(tf);
var bmp:Bitmap = new Bitmap(myBitmapData);
this.addChild(bmp);
Scheint aber nur für TextField zu funktionieren wenn ich ein Text oder Label nehme wird nichts angezeigt. Hat jemand eine Idee woran das liegen kann?


Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Alt 17-04-2009, 14:10   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Ort: Braunschweig
Beiträge: 164
Hallo,

TextField ist "flash einfach".
Text und Label sind vollwertige Flex-Komponenten.
Die müssen erst in 'addChild' "gelayoutet" werden etc...
Nach 'creationComplete' kann man sie malen.

Grüße,
Matthias Kievernagel
mkiever ist offline   Mit Zitat antworten
Alt 18-04-2009, 07:20   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
Ich habe ein label-Element was Dynamisch als child einem canvas hinzugefügt wird, möchte es aber vorher in ein Image umwandeln um dann dynamisch dessen Größe und Neigung anzupassen.
D.h. wenn ich Label erst "Layouten" muss geht das so gar nicht?

Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Alt 18-04-2009, 14:22   #6 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Ort: Braunschweig
Beiträge: 164
Wie wäre es mit einer 2-stufigen Lösung:
Label einfügen.
-> creationComplete Event abwarten.
Als Bitmap malen.
Label wieder rausnehmen und Bitmap einfügen.

Das sieht man eventuell nicht mal.
Ansonsten geht das nur mit Kopfstand:
Herumprobieren mit einer Hintergrundebene, außerhalb der stage,
Abdecken durch 'Bitte warten'-Dialog, visible = false etc...

Abdecken durch 'Bitte warten' habe ich schon gemacht. Nicht problemlos,
ist aber zum Funktionieren zu bringen.

Grüße,
Matthias Kievernagel
mkiever ist offline   Mit Zitat antworten
Alt 20-04-2009, 08:13   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 11
Ja, danke!

Mit der zweistufigen Lösung geht es.

Beim Text habe ich ein
Code:
text.addEventListener(FlexEvent.CREATION_COMPLETE, textCreated);
hinzugefügt und dann in der
Code:
function textCreated(event:FlexEvent):void
mit
Code:
var text:Label = event.currentTarget.valueOf();
foo.addChild(image);
foo.removeChild(text);
, dass Bild hinzugefügt und den Text entfernt.


Gruß
nihilfire
nihilfire ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
image, label, text, umwandeln

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele