Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Font für 45°-Winkel (https://www.delphipraxis.net/133658-font-fuer-45%B0-winkel.html)

uligerhardt 6. Mai 2009 14:50


Font für 45°-Winkel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Kennt jemand einen Font, der bei Textausgabe im 45°-Winkel gut ausschaut und standardmäßig bei Windows dabei ist? Mit "gut ausschauen" meine ich besser als im Anhang. :mrgreen:

mleyen 6. Mai 2009 15:01

Re: Font für 45°-Winkel
 
Wie groß ist dein "nHeight" und dein "nWidth"? (Demnach könnte ich schnell vergleichen)
Also standardmäßig würde ich, bei gedrehten Texten, sagen: "calibri" und "Arial".
Wenn du die Pixel gut wegbekommen willst, nutze folgendes:
  • Eine größere Schriftgröße
  • Antialiasing
  • oder nutze sowas in der art (Offscreenbitmap nötig)

Namenloser 6. Mai 2009 15:21

Re: Font für 45°-Winkel
 
ClearType anzustellen, würde auch schon reichen. Allerdings kann man das natürlich nicht voraussetzen, wenn man das Programm weitergibt.

uligerhardt 6. Mai 2009 16:47

Re: Font für 45°-Winkel
 
Zitat:

Zitat von NamenLozer
ClearType anzustellen, würde auch schon reichen. Allerdings kann man das natürlich nicht voraussetzen, wenn man das Programm weitergibt.

Das Programm wird weitergegeben. Von den Kunden kann ich leider nicht verlangen, ClearType einzustellen.

Zitat:

Zitat von mleyen
Wie groß ist dein "nHeight" und dein "nWidth"? (Demnach könnte ich schnell vergleichen)

Zum Testen habe ich ein cxLabel (von DevEx) genommen. Welcher Font genau auf dem Screenshot zu sehen ist, kann ich jetzt gar nicht mehr sagen - ich hatte mit Arial und Tahoma mit Size 8 bis 10 herumgespielt. Größer möchte ich den Font eigentlich nicht machen, da ich mich an den Font-Systemeinstellungen des Benutzers orientiere.

Zitat:

Zitat von mleyen
Also standardmäßig würde ich, bei gedrehten Texten, sagen: "calibri" und "Arial".

Calibri habe ich (und dann wohl auch meine Kunden) nicht. Arial: siehe oben. :(

Zitat:

Zitat von mleyen
Wenn du die Pixel gut wegbekommen willst, nutze folgendes:
  • Eine größere Schriftgröße
  • Antialiasing
  • oder nutze sowas in der art (Offscreenbitmap nötig)

Punkt 2 und 3 schau ich mir mal an. Das Demo aus dem Link schaut ja gut aus!

Danke,
Uli.

mleyen 6. Mai 2009 17:24

Re: Font für 45°-Winkel
 
Ups, ich dachte du gehst selber den weg komplett über die gdi.
Ich kenne die Komponente "cxLabel" leider nicht, aber wenn die direkt auf dem Formular liegt und nicht zB auf ein Canvas gezeichnet wird, könnte das mit Punkt 2/3 schwierig/unsauber werden.
Aber evtl. hat diese dafür ja noch ein paar nützliche Eigenschaften. (ich such sie mal)
(calibri ist kein Windows-Standard? :shock: ) *losrenn* :snowball:

uligerhardt 7. Mai 2009 08:18

Re: Font für 45°-Winkel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Morsche!

Ich hab jetzt in dem Demo aus AARotation.zip folgenden OnCreate-Handler eingefügt:
Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
var
  bmp: TBitmap;
  BackColor: TColor;
begin
  BackColor := ColorToRGB(clFuchsia);
  bmp := TBitmap.Create;
  try
    bmp.PixelFormat := pf24bit;
    bmp.SetSize(100, 20);
    bmp.Canvas.Font := Font;
    //bmp.Canvas.Font.Size := bmp.Canvas.Font.Size + 1;
    bmp.Canvas.Brush.Color := BackColor;
    bmp.Canvas.FillRect(Rect(0, 0, 100, 20));
    bmp.Canvas.TextOut(0, 0, 'Hallo, Welt');

    OrgImage.Picture.Assign(bmp);
  finally
    bmp.Free;
  end;

  OrgImage.Transparent := True;
  RotatedImage.Picture.Assign(OrgImage.Picture);
  RotatedImage.Transparent := True;
end;
und kriege das Ergebnis im Anhang - das schaut ja soweit gut aus. Das Problem ist jetzt nur, dass ich in meinem Anwendungsfall (gedrehtes Label) kein Hintergrundbitmap habe, auf das ich CombineImage loslassen könnte. :-/
Naja, mal sehen.

jfheins 7. Mai 2009 12:12

Re: Font für 45°-Winkel
 
Du könntest dir von der Tlabel Komponente eine eigene Komonente ableiten, und die Zeichenroutine überschreiben. Da bekommst du dann ein Canvas und kannst draufzeichnen was du willst ;)

uligerhardt 7. Mai 2009 13:24

Re: Font für 45°-Winkel
 
Zitat:

Zitat von jfheins
Du könntest dir von der Tlabel Komponente eine eigene Komonente ableiten, und die Zeichenroutine überschreiben. Da bekommst du dann ein Canvas und kannst draufzeichnen was du willst ;)

Schon klar. 8)
Nur hab ich dann immer noch kein Hintergrundbitmap. Und ohne das schaut das Ergebnis aus wie unter "Rotated Image", weil nicht gegen den richtigen Hintergrund "ge-antialiased" wird. Oder hab ich da was übersehen? :?:

stoxx 7. Mai 2009 13:49

Re: Font für 45°-Winkel
 
Liste der Anhänge anzeigen (Anzahl: 1)
wir hatten letztens dasselbe Problem und haben uns für

"Arial Narrow Special G1" (Bold) entschieden ... .. sieht so aus wie im Anhang ...

sieht auch in einem Winkel von 30 Grad noch gut aus ..

und wenn der Font auf dem Zielsystem nicht vorhanden ist, kann man ihn ja bei Programmstart schnell installieren ...


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

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz