Registriert: Do Mär 06, 2003 15:27 Beiträge: 281 Wohnort: Bochum
So ich habe grad ein wirklich minimalistisches TestProject am Start und wollte ne ganz einfache Variante haben um Fonts zu integrieren, für diverse Debug-Ausgaben. Dafür hab ich das Tutorial NeHe Tut 13 zur Hand genommen.
So weit so gut, funktioniert auch alles!
Problem ist nun aus diversen Gründen muss ich genau wissen in welchem Rect der Font gemalt wird, wie finde ich das heruas ? Problem ist nämlich das die Heigt(z.B) die ich beim CreateFont übergebe nicht hinhaut, genau das selbe gilt für die Width.
Wie komm ich aber nun bei einem Font an die korrekten Maße ?
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also ich erstelle das Fonts dabei eigentlich grundsätzlich immer über ein TFont und benutze dessen handle. Auf meiner Seite habe ich auch eine Unit mit einer Klasse drinne in der ich die Höhe/Breite abfrage. Dazu werden vorher ein paar Infos gesammelt.
Registriert: Do Mär 06, 2003 15:27 Beiträge: 281 Wohnort: Bochum
und das funktioniert pxelgenau ?
davon abgesehen benutz ich c++, kann also TFont und deine unit nich benutzen, müsste also schon eher die genaue technik wissen
Edit1: okay ich hab grad in die unit geschaut, ich glaub die hilft mir doch weiter....
ich poste gleich wenn ich es näher weiß...
ist übrigens n chices-teil.... würd ich definitiv benutzen wenn ich noch mit delphi arbeiten würde
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Extrawurst hat geschrieben:
und das funktioniert pxelgenau ?
Konnte mich bisher noch nicht beklagen. Also ja.
Extrawurst hat geschrieben:
ist übrigens n chices-teil.... würd ich definitiv benutzen wenn ich noch mit delphi arbeiten würde
Danke. Aber das ist nichts gegen die neuen Texturfonts
Was mir aber gerade noch einfällt. Ich meine die Höhe des Fonts musst du speziell berechnen. Das ist nicht gleich die FontSize in Pixel. Die TFontKlasse machst so.
Code:
procedure TFont.SetSize(Value:Integer);
begin
Height :=-MulDiv(Value, FPixelsPerInch,72);
end;
FPixelsPerInch ist üblicherweise 96. Warum auch immer man das so umständlich machen muss.
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.