textout ersetzen?

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

textout ersetzen?

Beitrag von khh »

hallo zusammen,
bevor ich meinem Programm die Möglichkeit des Cross-Compilierens durch die Abhängigkeit von der Unit Windows vollends nehme, möchte ich hier nachfragen, welche Möglichkeiten FreePascal bzw. Lazarus bieten, Text grafisch aufzubereiten, sprich senkrecht aufs Blatt (Drucker.canvas) zu bringen.

Danke für eure Meinungen.


EDIT: hab grad gelesen, dass textout auch in der GTK2 definiert ist.
Wo liegt der Unterschied?

Gruss KHH

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: textout ersetzen?

Beitrag von theo »

Wie meinst du das? Canvas.TextOut gibt es doch überall gleich.

z.B:

Code: Alles auswählen

if PrintDialog1.Execute then
  begin
   Printer.BeginDoc;
   Printer.Canvas.Font.Orientation:=900; //90 Grad drehen
   Printer.Canvas.TextOut(60,80,'hallo');
   Printer.EndDoc;
  end;

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: textout ersetzen?

Beitrag von pluto »

Nicht ganz. TextOut wird vom ToolKit implementiert. Beispielweise unterstützt GTK1 dein Beispiel nicht. GTK2 sollte es, bei Windows und Mac bin ich mir nicht sicher.
MFG
Michael Springwald

khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Re: textout ersetzen?

Beitrag von khh »

pluto hat geschrieben:Nicht ganz. TextOut wird vom ToolKit implementiert. Beispielweise unterstützt GTK1 dein Beispiel nicht. GTK2 sollte es, bei Windows und Mac bin ich mir nicht sicher.
wo ist das definiert?
mit windows oder GTK2 kennt es die orientation nicht :-(

Code: Alles auswählen

Printer.Canvas.Font.Orientation:=900; //90 Grad drehen
danke Gruss KH

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: textout ersetzen?

Beitrag von theo »

khh hat geschrieben: wo ist das definiert?
mit windows oder GTK2 kennt es die orientation nicht :-(
Hab ich mit Gtk2 getestet. Es hat's auch richtig gedruckt (ins PDF).
Meine Laz Version:
Lazarus 0.9.29 r23660M FPC 2.4.0 i386-linux-gtk 2 (beta)

khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Re: textout ersetzen?

Beitrag von khh »

theo hat geschrieben:
khh hat geschrieben: wo ist das definiert?
mit windows oder GTK2 kennt es die orientation nicht :-(
Hab ich mit Gtk2 getestet. Es hat's auch richtig gedruckt (ins PDF).
Meine Laz Version:
Lazarus 0.9.29 r23660M FPC 2.4.0 i386-linux-gtk 2 (beta)
mh
ich hab 0.9.27 FPC 2.2.3 REV 18444
edit: windowsvers.

kanns daran liegen?

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: textout ersetzen?

Beitrag von theo »

khh hat geschrieben: ich hab 0.9.27 FPC 2.2.3 REV 18444
kanns daran liegen?
Wieso arbeitest du denn auf so einer ollen SVN Version?
Es gibt ja bereits eine release Version die wesentlich neuer ist.
Mach doch mal den aktuellen Snapshot drauf:
ftp://ftp.freepascal.org/pub/lazarus/snapshots/" onclick="window.open(this.href);return false;

Am besten gleich die mit FPC 2.5.1

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: textout ersetzen?

Beitrag von pluto »

Wir hatten hier schon einen Thread zum Thema. Stichwort: Pango und oder Button

edit01: Ich meinte "LogFont"
Zuletzt geändert von pluto am So 7. Feb 2010, 12:21, insgesamt 1-mal geändert.
MFG
Michael Springwald

khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Re: textout ersetzen?

Beitrag von khh »

theo hat geschrieben:
khh hat geschrieben: ich hab 0.9.27 FPC 2.2.3 REV 18444
kanns daran liegen?
Wieso arbeitest du denn auf so einer ollen SVN Version?
Es gibt ja bereits eine release Version die wesentlich neuer ist.
Mach doch mal den aktuellen Snapshot drauf:
ftp://ftp.freepascal.org/pub/lazarus/snapshots/" onclick="window.open(this.href);return false;

Am besten gleich die mit FPC 2.5.1
werde ich erst mal installieren, danach meld ich mich wieder.

Gruss KH

khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Re: textout ersetzen?

Beitrag von khh »

ok, mit der neuen Version klappt es fehlerfrei:-)


Gruss KHH

Antworten