Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Text mit "Heiligenschein"... (https://www.delphipraxis.net/107103-text-mit-heiligenschein.html)

ralfiii 22. Jan 2008 14:40


Text mit "Heiligenschein"...
 
Hallo!

Ich muss ein wenig Text über eine Grafik drübermalen (als Beschrifung) - blöderweise kann man den Text in den Bereichen wo die Grafik drunter dunkel ist nur sehr schlecht lesen.

Ideal wär wohl so eine Art Glimmeffekt, d.h. der an sich schwarze Text wird hell umrandet - natürlich sollte das sanft auslaufend sein, sonst schaut das eher gaga aus.

Ich hab's mal schnell mit GDI+ probiert, so:

Delphi-Quellcode:
  // Gray underground
  SolidBrush := TGPSolidBrush.Create(MakeColor($80, $ff, $ff, $ff));
  graphics.SetTextRenderingHint(TextRenderingHintSystemDefault);
  graphics.DrawString('Mein Test', -1, font, MakePoint(0.5, 1), solidBrush);
  graphics.DrawString('Mein Test', -1, font, MakePoint(-0.5, -1), solidBrush);
  SolidBrush.Free;

  // Black text on it
  SolidBrush := TGPSolidBrush.Create(MakeColor($ff, 0, 0, 0));
  graphics.SetTextRenderingHint(TextRenderingHintSystemDefault);
  graphics.DrawString('Mein Test', -1, font, MakePoint(0, 0.0), solidBrush);
  SolidBrush.Free;
aber das schaut nach nix aus.

Tips?

1234588 22. Jan 2008 15:05

Re: Text mit "Heiligenschein"...
 
zeichne den text einfach in einer hellen farbe. dann zeichnest du ihn nochmal in schwarz oder einer anderen. beim zweiten mal versetzt du deinen stift aber um 2 pixel nach rechts/links und 2 pixel nach unten/oben (je nach dem was besser aussieht). so hast du dann eine dunkle schrift mit einem hellen schatten.

vll. koennte man auch in einer hellen farbe den text etwas groeßer zeichnen, dann deinen dunklen schriftzug in normalgroeße darueber (aber dann die differenz der schriftgroeßen durch 2 teilen und dann mit diesem wert versetzen). muesste klappen

natuerlich kannst du auch einen hellen schriftzug mit einem dunklen schatten versehen

ralfiii 22. Jan 2008 15:08

Re: Text mit "Heiligenschein"...
 
Zitat:

Zitat von 1234588
zeichne den text einfach in einer hellen farbe. dann <snip>

Schon klar dass das so geht.
Ich hätte allerdings gern eine Lösung die wirklich gut aussieht.

rawsoul 22. Jan 2008 15:16

Re: Text mit "Heiligenschein"...
 
ShadowText von Matthias G., in der DP bekannt unter turboPASCAL.

1234588 22. Jan 2008 15:24

Re: Text mit "Heiligenschein"...
 
Zitat:

Zitat von ralfiii
Zitat:

Zitat von 1234588
zeichne den text einfach in einer hellen farbe. dann <snip>

Schon klar dass das so geht.
Ich hätte allerdings gern eine Lösung die wirklich gut aussieht.

du kannst einen konstrast nur erreichen, wenn du eine andere farbe verwendest. was spricht also dagegen, wenn du den text einmal zeichnest und ihn nochmal versetzt darueber in einer anderen farbe zeichnest? du erhaelst so einen schatten.

Lachasis 22. Jan 2008 15:58

Re: Text mit "Heiligenschein"...
 
Die Alphaskin-Komponenten haben eine Effektschrift-Label. Ich weiss aber nicht ob der auch in den Gratis-Komponenten enthalten ist. Jedenfalls hat die Schrift einen Schlagschatten, bei dem man die Farben wählen kann.

http://www.alphaskins.com/

Grüße

OregonGhost 22. Jan 2008 16:06

Re: Text mit "Heiligenschein"...
 
Wenn Windows 98 oder Windows 2000 keine Rolle spielen, wäre vielleicht MSDN-Library durchsuchenDrawShadowText einen Blick wert.

igel457 22. Jan 2008 16:30

Re: Text mit "Heiligenschein"...
 
Mach es einfach so wie ich in Andorra 2D:
Male deinen "Schatten" auf ein Offscreenbitmap und lasse einen Blur-Algorithmus (findet sich in der Code-Library) drüberlaufen. Dann zeichnest du das Bitmap und anschließend darüber deinen Text.

ralfiii 23. Jan 2008 08:59

Re: Text mit "Heiligenschein"...
 
ich hab was wirklich brilliantes gefunden:
www.aggpas.org

Die Library ist echt der Hammer.
(Und das "Blur" demo macht genau was ich brauche)

Daniel 23. Jan 2008 09:08

Re: Text mit "Heiligenschein"...
 
Danke Dir für den Link - diese Bibliothek ist ja der Hammer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr.
Seite 1 von 2  1 2      

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