drawtext rechts ausrichten
drawtext rechts ausrichten
Hallo Jungs und Mädels,
wie ist es möglich, einen Text über "DrawText" rechts auszurichten?
Liebe Grüße,
Simon
wie ist es möglich, einen Text über "DrawText" rechts auszurichten?
Liebe Grüße,
Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
- Pelagio
- Beiträge: 424
- Registriert: 11.11.2004 17:52
- Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem - Wohnort: Bremen
Hallo sobi,
versuch es doch mal mit Locate, habe leider keine Zeit für längere ausführung, daher ein Codesnipsel als Beispiel:
versuch es doch mal mit Locate, habe leider keine Zeit für längere ausführung, daher ein Codesnipsel als Beispiel:
Code: Alles auswählen
If OpenWindow(0, 10, 10, 100, 100, #PB_Window_SystemMenu|#PB_Window_ScreenCentered, "PureBasic Window")
If StartDrawing(WindowOutput())
Locate(10, 10): DrawText("Teststring")
Locate(48, 30): DrawText("Test")
Locate(40, 50): DrawText("String")
StopDrawing()
EndIf
Repeat
myEvent.l = WaitWindowEvent()
Until (myEvent=#PB_Event_CloseWindow)
EndIf
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Als totaler Schwachkopf und Anfänger rate ich mal....
....mit Leerzeichen?
Klappt bestimmt-is bloss umständlich wei dus ausprobioeren musst....
Ich hab ansonsten keine Ahnung....aber versuche dir immerhin zu helfen....
Gr33tz
Tafkadasom2k5
....mit Leerzeichen?
Klappt bestimmt-is bloss umständlich wei dus ausprobioeren musst....

Ich hab ansonsten keine Ahnung....aber versuche dir immerhin zu helfen....

Gr33tz
Tafkadasom2k5

OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
- Green Snake
- Beiträge: 1394
- Registriert: 22.02.2005 19:08
habs nicht probiert, sollte aber damit zu berechnen sein
ps: da die hilfe eine hilfe ist, hilft sie bestimmt immer, wenn jemand hilfe von der hilfe braucht^^

Code: Alles auswählen
TextLength()
Syntax
Länge = TextLength(Text$)
Beschreibung
Ermittelt die Länge (in Pixel) des angegebenen Strings, der auf dem aktuellen Ausgabekanal mittels des aktuellen Zeichensatzes dargestellt wird. Diese Funktion ist sehr nützlich, um die tatsächliche Länge eines mit einem nicht-proportionalen Zeichensatz dargestellten Strings zu ermitteln.
Unterstützte OS
All
-.-"
Code: Alles auswählen
Länge = TextLength(Text$)

@Pelagio
danke für deine Antwort. Allerdings brauche ich ihn rechts ausgerichtetet nicht links.
@Tafkadasom2k5
Is ein bisschen Umständlich und wenn ich nur zwei Zeilen hätte, würde ich das auch so machen, aber bei mehr Zeilen...?


Liebe Grüße,
Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Re: drawtext rechts ausrichten
Danke für jeden Hinweis. Ich habe das so gelöst:sobi hat geschrieben: wie ist es möglich, einen Text über "DrawText" rechts auszurichten?
Code: Alles auswählen
Procedure DT_rechts(Text$, x, y)
l=TextLength(Text$)
Locate(x-l,y)
DrawingFont(LoadFont (2, "Arial", 10))
DrawText(Text$)
EndProcedure
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Er hats doch mittelsshadow hat geschrieben:Hmm, um die Länge des Textes in Pixel genau ermitteln zu können, musst du den Font vorher laden und als Zeichenfont setzen
Code: Alles auswählen
TextLength(Text$)
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
ja, aber da wird die länge mit dem aktuell geladenen font ermittelt. erst nach dem TextLength() lädt er ja den font und gibt ihn aus. d. h. wenn er von Courier auf Verdana wechselt stimmt die länge nicht mehr.
so meine ich das:
so meine ich das:
Code: Alles auswählen
Procedure DT_rechts(Text$, x, y)
DrawingFont(LoadFont (2, "Arial", 10))
l=TextLength(Text$)
Locate(x-l,y)
DrawText(Text$)
EndProcedure
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
aso, ja da hast du recht.shadow hat geschrieben:ja, aber da wird die länge mit dem aktuell geladenen font ermittelt. erst nach dem TextLength() lädt er ja den font und gibt ihn aus. d. h. wenn er von Courier auf Verdana wechselt stimmt die länge nicht mehr.
so meine ich das:Code: Alles auswählen
Procedure DT_rechts(Text$, x, y) DrawingFont(LoadFont (2, "Arial", 10)) l=TextLength(Text$) Locate(x-l,y) DrawText(Text$) EndProcedure
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.