• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-06-2004, 22:39   #16 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
System: Pentium-M 1.5 Ghz, 1024 MB RAM
Plug-in : Win 7.0.19.0
benötigte Zeit: 4219ms

bei den Rahmen fehlt teilweise die Linie oben...
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 08-06-2004, 23:49   #17 (permalink)
rekursiv definiert
 
Benutzerbild von minimal-ist
 
Registriert seit: Feb 2002
Ort: trier
Beiträge: 1.137
System: centrino 1.3 Ghz, 256 MB RAM
Plug-in : Win 7.0.19.0
benötigte Zeit: 4482 ms

darstellung einwandfrei
__________________

optimismus ist nur ein mangel an information!

minimal-ist.de: my little piece of the world wide web
iTouch ...train your brain!
minimal-ist ist offline   Mit Zitat antworten
Alt 09-06-2004, 10:56   #18 (permalink)
Markus Raab
 
Benutzerbild von derRaab
 
Registriert seit: Aug 2001
Ort: Berlin Friedrichshain
Beiträge: 924
@son yu:

Was meinst Du mit 'also die woerter sind auch nicht wirklich umrahmt'?

@Mr.Dauerfeuer:

Inwiefern 'bei den Rahmen fehlt teilweise die Linie oben...'?


Vermutlich kann man die Rahmen dann nicht richtig erkennen. Leider ist es wirklich so, dass der obere Rand etwas weit nach oben gerutscht ist. Aber das variiert mit der Schriftgröße. Da muß man dann im Einzelfall optimieren.
derRaab ist offline   Mit Zitat antworten
Alt 09-06-2004, 12:22   #19 (permalink)
_______________
 
Benutzerbild von son yu
 
Registriert seit: Mar 2003
Ort: !Schnitzerland
Beiträge: 2.003
Zitat:
Zitat von derRaab
@son yu:

Was meinst Du mit 'also die woerter sind auch nicht wirklich umrahmt'?

[…]
hier nen beispielhafter ausschnitt...


schoene gruesse
__________________
ey… be cool!

Mac OS-X 10.5.6, Safari Version 4 Public Beta (5528.16), on PowerBook 12" G4 1,5 GHz,
1,25 GB RAM, FlashPlayer 9 is auch noch da, wenn ich Lust habe…
son yu ist offline   Mit Zitat antworten
Alt 09-06-2004, 17:12   #20 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
habe genau die gleichen Darstellungsfehler die auf dem Screenshot von son yu zu sehen sind. Dafür liefs jetzt schneller ca. 3300 ms, hatte das Notebook gestern @800 MHz...
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 25-10-2004, 10:34   #21 (permalink)
Markus Raab
 
Benutzerbild von derRaab
 
Registriert seit: Aug 2001
Ort: Berlin Friedrichshain
Beiträge: 924
Verdammt, sieht so aus, als würde das nicht immer gut laufen.

Es würde mich freuen, wenn Leute weiter testen. Ich werde mich bei Gelegenheit dran machen, die Funktion zu überarbeiten, zu strecken usw.

Ich hoffe es liegt an der Systemperformance. So werde ich wohl den Weg gehen und über Workarounds eine zeitaufwändigere, aber hoffentlich fehlerfreie Version zu erstellen. Ich melde mich wieder.

derRaab ist offline   Mit Zitat antworten
Alt 25-10-2004, 13:01   #22 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
ich hatte letztens die erleutung, kurz und schmerzlos :


PHP-Code:
//-    Ausmaße eines Htmltextes berechnen
function getHtmlTextExtenthtml_str:String format_str:String) {

        
// create temporary textfield
        
_root.createTextField("getTextExtentTemp_txt"10010130030);
        
// local reference to text field
        
var temp_txt _root "getTextExtentTemp_txt" ];

        
// set the text format
        
if (format_str == undefined)
        {
            
format_str "<FONT FACE=\"Verdana\" SIZE=\"12\" >";
        }

        
temp_txt.html true;
        
temp_txt.htmlText format_str html_str "</FONT>";

        
// get dimensions
        
var temp_txt.textWidth;
        var 
temp_txt.textHeight;
    var 
fw temp_txt._width;
        var 
fh temp_txt._height;

        
// wrap in object
        
var textExtent = { widthwheighthtextFieldWidthfwtextFieldHeightfh };
        
// remove the textfield
        //temp_txt.removeTextField();
        
_root "getTextExtentTemp_txt" ].removeTextField();
        
// return dimensions object
        
return textExtent;
}


//beispiel mit standardfont verdana 12px
bsp_text "Ich bin ein Text. das ist <B>bold</B>"
textExtent getHtmlTextExtent(bsp_text);
trace(textExtent.width " : " textExtent.height " : " textExtent.textFieldWidth);

// oder eigenes format festlegen
bsp_text "Ich bin ein Text. das ist <B>bold</B>"
textExtent getHtmlTextExtent(bsp_text"<FONT FACE=\"WingDings\" SIZE=\"20\" >");
trace(textExtent.width " : " textExtent.height " : " textExtent.textFieldWidth); 
sieht doch gut aus oder?
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 11-01-2005, 10:51   #23 (permalink)
Markus Raab
 
Benutzerbild von derRaab
 
Registriert seit: Aug 2001
Ort: Berlin Friedrichshain
Beiträge: 924
Auffrischung :)

Hallo Leute,

dieses Thema ist schon älter, aber ich habe nun etwas weiter an der Problematik gearbeitet und eine performantere Lösung gefunden. Ich erstelle nicht mehr ein anderes Textfeld sondern kalkuliere alle Werte durch das Textformat. Dies bedeutet, dass es mit HTML-Texten nicht funktioniert.

Leider kommt es bei längeren Texten immer noch zu Unregelmäßigkeiten. Diese hängen evtl. mit der Zeilenanzahl zusammen.

Hier habt Ihr wieder einen Link zum Testen:
http://www.derraab.com/forumposts/gaptext/secondtest


Folgende Texte müssten exakt mit einem roten Rahmen markiert sein:

- "bei manchen Zeitgenossen";
- "<gap>längere Kurzform</gap>";
- "<gap>Internet</gap>";
- "aktuelle Form des Infotainments ";
- "<gap>Spätlateinischen</gap>";

Hier auch gleich die ActionScript-Funktion quick&dirty:

ActionScript:
  1. function getTextPosition(text_fmt:TextFormat, complete_str:String,  search_str:String, text_width:Number){
  2.    
  3.     var metrics;
  4.    
  5.     // Textbreite und Höhe
  6.     metrics = text_fmt.getTextExtent(search_str, text_width);
  7.     var width = metrics.width;
  8.     var height = metrics.height;
  9.    
  10.     // Textunterkante ermitteln (String bis Suchstring kalkulieren)
  11.     metrics = text_fmt.getTextExtent(complete_str.split(search_str)[0]+search_str, text_width);
  12.     var bottom = metrics.height - 2;
  13.    
  14.     // Textfeldhöhe für Vergleich zwischenspeichern
  15.     var totalHeight = metrics.height;
  16.    
  17.     // Oberkante ermitteln
  18.     var top = bottom - height + 4;
  19.    
  20.     // Text der letzten Zeile ermitteln
  21.     var preSearch:Array = complete_str.split(search_str)[0].split(' ');
  22.     var lastLine:Array = new Array();
  23.     var cutting = true;
  24.     while (cutting){
  25.         if (text_fmt.getTextExtent(preSearch.join(' '), text_width).height != totalHeight){
  26.             cutting = false;
  27.         } else {
  28.             lastLine.push(preSearch.pop());
  29.         }
  30.     }
  31.     lastLine.reverse();
  32.    
  33.     // linken Anfang ermitteln
  34.     var left = text_fmt.getTextExtent(lastLine.join(' '),text_width).width + 2;
  35.    
  36.     // rechtes Ende ermitteln
  37.     var right = left + width;
  38.    
  39.    
  40.     return {left:left, right:right, top:top, bottom:bottom}
  41.    
  42.    
  43. }

Ich würde mich freuen, wenn Ihr mir ein Feedback zukommen lassen könnt. Funktioniert es bei euch? Und wenn was für ein System habt Ihr?

Danke euch...

Geändert von derRaab (11-01-2005 um 10:52 Uhr)
derRaab ist offline   Mit Zitat antworten
Alt 11-01-2005, 11:42   #24 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
hi herrRaab, du kennst doch die faulen leute hier (mich eingeschlossen ) , kannste auch die paar zeilen zu nutzung noch schnell hinschreiben, dann probieren das sicher n paar mehr leutchen

man bin ich faul,
und keiner is gemeiner als der f-hainer
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø

Geändert von maddin79 (11-01-2005 um 11:45 Uhr)
madflanderz ist offline   Mit Zitat antworten
Alt 11-01-2005, 11:56   #25 (permalink)
Markus Raab
 
Benutzerbild von derRaab
 
Registriert seit: Aug 2001
Ort: Berlin Friedrichshain
Beiträge: 924
Hi,

hier ist doch der Link:

http://www.derraab.com/forumposts/gaptext/secondtest

derRaab ist offline   Mit Zitat antworten
Alt 11-01-2005, 12:17   #26 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
hehe, den hab ich auch gesehen, ich dachte eher an selbst ausprobieren

vielleicht findet sich dann auch ne lösung für html-text, weils ja nich grade schön ist, wenn die funktion auf normalen text beschränkt bleibt.
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 11-01-2005, 17:15   #27 (permalink)
Markus Raab
 
Benutzerbild von derRaab
 
Registriert seit: Aug 2001
Ort: Berlin Friedrichshain
Beiträge: 924
Wenn man mit HTML-Text arbeiten will, dann kann man nicht mit getTextExtend arbeiten. Dann zieht wieder mein Lösung vom Anfang. Das Problem mit der Textlänge bleibt trotzdem bestehen.

Ich will jetzt hier nur noch auf Verlässlichkeit testen.

Bye
derRaab ist offline   Mit Zitat antworten
Alt 11-01-2005, 18:29   #28 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
dann bin ich mal gespannt ob sich die lösung bewährt. ich habe nämlich ähnliche probleme mit meiner Smile-Klasse. da gehts aber nunmal nicht ohne html.

mit mein größtes problem war, herauszufinden, wo im text umbrüche stattfinden bzw. wie ich den text einer einzelnen bestimmten zeile extrahieren kann. meine lösung war dann, das ich den ganzen string selbst <br>s eingefügt habe und alle zeilen im array gespeichert habe.

und nun sehe ich wie es auch gehen kann, respekt , deine lösung zum finden der letzten zeile ist echt cool.

vielleicht hab ich demnächst zeit deinen ansatz bei mir einzubauen, dann zeig ich dir das ergebnis


bis dann
madFlanderz
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 12-01-2005, 13:31   #29 (permalink)
Markus Raab
 
Benutzerbild von derRaab
 
Registriert seit: Aug 2001
Ort: Berlin Friedrichshain
Beiträge: 924
Hi,

ja wenn man die automatischen Umbrüche, die Flash in den Textfeldern erstellt irgendwie auslesen könnte, wäre alles kein Problem.

Das mit den manuellen <br>-Tags ist auch eine Möglichkeit. Wenn man beim erstellen der Texte sicher stellt, das die eingefügt werden kann man natürlich auch mit HTML arbeiten.

Ich werde sehen was ich einsetzen werde...
derRaab ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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 05:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele