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/)
-   -   [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen? (https://www.delphipraxis.net/120964-%5Bphp-gd%5D-wie-schriftfarbe-dem-hintergrund-anpassen.html)

Matze 19. Sep 2008 16:48


[PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Hi,

ich zeichne per imagettftext() Text auf ein Bild. Nun ist es so, dass der Text je nach Farben des Bildes kaum lesbar ist. Ist es möglich, die Schriftfarbe so anzupassen, dass sie sich von Hintergrund abhebt (von mir aus buchstabenweise), also dass der Kontrast brauchbar wird? Wenn ja, wie macht man das?

Grüße

Die Muhkuh 19. Sep 2008 16:50

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Zeichnest Du den Hintergrund auch selbst oder zeichnest Du nur auf ein fertiges Bild drauf?

Matze 19. Sep 2008 16:56

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Ich zeichne das auf ein fertiges Bild, das ich in eine Variable lade und mittels ImageCopyResampled() auf dem "Endbild" darstelle.

Die Muhkuh 19. Sep 2008 17:01

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Spontan fiele mir ein, dass Du an den Koordinaten ein 10x10px großes Feld mit den Farben ausliest, davon den Mittelwert bildest und von diesem Mittelwert die Komplementärfarbe.

OregonGhost 19. Sep 2008 17:05

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Spricht etwas gegen einen Schatten? Also Text erst um einen Pixel nach rechts und unten versetzt in schwarz zeichnen, dann normal in weiß? Vier solche Schatten in alle vier Richtungen (bei kleiner Schrift reichen zwei gegenüberliegende) ergeben einen schwarzen Rand, das sieht je nach Situation besser aus als ein Schatten.

Die Muhkuh 19. Sep 2008 17:07

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Die Schattenidee ist natürlich sehr nett. So könnte auch der Text immer in der gleichen Farbe bleiben.

alzaimar 19. Sep 2008 17:07

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Wie berechnet man die Farbe mit dem höchsten Konstrast? Ich meine nicht dieses simple
Delphi-Quellcode:
Function Complementary (aRGB : TColor) : TColor;
Begin
  Result := RGB (255 - Red (aRGB), 255 - Green(aRGB), 255 - Blue(aRGB));
End;
Denn da kann man bei einem Grauwert gar nichts mehr erkennen.

Die Schattenidee wäre ein Ausweg..

Matze 19. Sep 2008 17:14

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Stimmt, die Schattenidee ist gar nicht übel. Nur bei Schriftgröße 7 wirkt das etwas unscharf, da der Schatten im Verhältnis zur Schrift zu groß ist.

Aber vielleicht klappt das halbwegs, wenn ich mit den Farben etwas herumspiele. Viele Dank auf jedenfall.

Grüße

OregonGhost 22. Sep 2008 09:46

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Bei geringer Schriftgröße würde ich eins der folgenden probieren:
  • Entweder mal gucken, ob du auch halbe Pixel zeichnen kannst. In dem Fall kannst du den Pixel um einen halben Pixel verschieben und müsstest ein ganz gutes Ergebnis bekommen.
  • Oder eben wirklich den Schatten einmal nach rechts unten, einmal nach links oben um einen Pixel versetzt zeichnen. Sollte eigentlich dann zu einem ganz netten Rahmen führen.
Du kannst den Schatten vielleicht auch erweitern, also z.B. um einen Pixel vergrößern, und dann etwas unscharf machen. Macht eigentlich nichts, dass der Schatten zu groß ist, Hauptsache der Text ist klar zu lesen :)

Matze 22. Sep 2008 17:31

Re: [PHP/GD] Wie Schriftfarbe dem Hintergrund anpassen?
 
Hallo,

ungerade Schriftgrößen werden akzeptiert, allerdings staucht es die Buchstaben dann etwas.

Ich werde mit dem Schatten herumspielen. irgendwie kriege ich das schon hin. ;)

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 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