Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi RGB-Farbwert in TColor konvertieren (https://www.delphipraxis.net/103281-rgb-farbwert-tcolor-konvertieren.html)

taaktaak 13. Nov 2007 18:10


RGB-Farbwert in TColor konvertieren
 
Moin, Moin.
Die API erwartet (z.B. um in einem RichEdit die Hintergrundfarbe zu setzen) bei Farbangaben einen RGB-Wert, diesen kann ich mittels ColorToRGB von TColor in den API-konformen RGB Wert wandeln und übergeben.
Wie bekomme ich aber den TColor-Wert, wenn ich mittels API-Funktion z.B. die Hintergrundfarbe eines RichEdits gelesen habe und dann mit einem TColor-Wert weiterarbeiten möchte???
Gruß Ralph

patti 13. Nov 2007 18:11

Re: RGB-Farbwert in TColor konvertieren
 
soweit ich weiß mit der Funktion

Delphi-Quellcode:
RGB(r,g,b);
Liefert einen TColor-Wert zurück ;-)

P@Tti

PS: Mein 100. Beitrag :party:

taaktaak 13. Nov 2007 18:16

Re: RGB-Farbwert in TColor konvertieren
 
Joo, Danke, dann muss ich aber den von der API zurückgelieferten Wert erst einmal in die 3 Farbwerte zerlegen. Wie mache ich das?
Gruß Ralph

mkinzler 13. Nov 2007 18:16

Re: RGB-Farbwert in TColor konvertieren
 
http://www.torry.net/dpfl/rgb2hls.html

scrat1979 13. Nov 2007 18:18

Re: RGB-Farbwert in TColor konvertieren
 
Hallo!!

Hier hab ich evtl. das was Du suchst (Tip: Suchfunktion benutzen :cheers: )

SCRaT

taaktaak 13. Nov 2007 18:24

Re: RGB-Farbwert in TColor konvertieren
 
Prima! Ich danke allen!!
Übrigens, habe die Suche bemüht, aber wohl mit dem falschen Stichwort :spin2:
Gruß Ralph

taaktaak 13. Nov 2007 18:41

Re: RGB-Farbwert in TColor konvertieren
 
Ahh, zu früh gefreut...

Auf die Gefahr hin, dass ich jetzt Prügel bekomme (ich denke heute sollte ich lieber den PC ausschalten):

API von RichEdit liefert den Farbwert als COLORREF vom Typ DWORD zurück; im DWord ist die Farbe in folgender Form enthalten 0x00BBGGRR.

Wie bekomme ich nun das DWord in untenstehende Funktion????????

Delphi-Quellcode:
function RGB2TColor(R,G,B:Byte):Integer;
begin
  Result := R or (G shl 8) or (B shl 16);
end;
Sorry, ist heute nicht mein Tag!
Gruß Ralph

Apollonius 13. Nov 2007 18:43

Re: RGB-Farbwert in TColor konvertieren
 
*Grins* Die Funktion liefert dir deinen DWord (ob mit oder ohne Vorzeichen ist auf Bitebene egal) aus den Einzelwerten zurück. Du brauchst diese Funktion also gar nicht.

mkinzler 13. Nov 2007 18:44

Re: RGB-Farbwert in TColor konvertieren
 
Das Ergebnis ist imho schon ein TColor

taaktaak 13. Nov 2007 18:53

Re: RGB-Farbwert in TColor konvertieren
 
Ahhhhhhhhhhh, sch... Tag heute!
Aber letzte Frage dann: Warum muss ich vor dem Setzen der Farbe mit SetCharFormat() den TColor-Wert mit ColorToRGB umwandeln??? Dann könnte ich doch gleich den TColor-Wert an SetCharFormat übergeben? dasverstehe ich nun wirklich nicht :wall:
Gruß Ralph

/edit: hmm, die Funktion ColoToRGB ist ja in Graphics enthalten: wenn der TColor Wert negativ ist, dann wird "was gemacht", postive Werte werden einfach "weitergereicht" (mkinzler hat dann Recht)- wann ist TColor denn negativ?


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