![]() |
DelphiX - Farbe
Wenn ich mit Fill von DxDraw.Surface arbeite wird der Bildschirm in einen bestimmtem Farbton getaucht, jedoch nut Schwarz-, Blau-, Grau-, und Gelbtöne. Wir kriege ich bspw. Rot hin?
Danke, Czapie. |
Re: DelphiX - Farbe
Hallo czapie,
setzt die Farbe in die du färben willst in die Klammern der Funktion "Fill". Die Farbe rechnest du wie folgt aus: Die Zahl ist im Prinzip im 256-er Zahlensystem gespeichert. Rotanteil (zahl zwischen 0 und 255) mal 65536 plus Grünanteil mal 256 plus Blauanteil. Das klappt bei mir zumindest ganz gut. Grüße Seniman |
Re: DelphiX - Farbe
Hä :?:
Sorry hab grad ne Woche harten Winterurlaub hinter mir vielleicht sind meine grauen Zellen noch nicht wieder auf der Höhe. Gib mir doch bitte mal ein Beispiel für ein Argument, für die Farben:
Nur damit ich dich verstehe und die Unterschiede erkenne, danke, Czapie. |
Re: DelphiX - Farbe
Hi,folgendes !
Delphi-Quellcode:
So gibt man im RGB Code die Farbe an die dann dxdraw1.surface besitzt!
Form1.DXDraw1.Color:=RGB(0,16,176);
Vermutlich aus Performencegründen wird die Farbe aber nur im Zusammenhang mit einer Draw oder canvas Funktion angezeigt,auch release nütz nach miener Erfahrung nix! Dieser Code bring den gewünschten Effekt! [delphi] procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer); begin Form1.DXDraw1.Color:=RGB(0,16,176); Form1.DXDraw1.Surface.Canvas.LineTo(1,1);//<--irgendetwas was man zeichnet, das macht man ja eh! Form1.DXDraw1.Flip; end; [/dp] @wardz |
Re: DelphiX - Farbe
Hallo,
ich meinte das so: Angenommen du willst die Farbe rot malen. Rot =RGB(255,0,0), hat also den Rotanteil von 255, Grünanteil 0 und Blauanteil 0. Die Zahl für (reines) Rot ist dann 255*65536+0*256+0. Bei Blutrot ist das etwa 180*65536+0*256+0. Giftgrün ist reines Grün, also 0*65536+255*256+0. Babyblau: 100*65536+100*256+255. Da musst du einfach ein bißchen rumprobieren. Falls du immer die gleiche Farbe benutzt solltest du die Zahl unbedingt ausrechnen und eintippen und nicht bei jedem Frame von Delphi neu berechnen lassen! Grüße Seniman |
Re: DelphiX - Farbe
ja genau das ist ja eigentlich das was ich geschrieben habe!
Im Objektinspektor kann man halt nur die vorgegebenen Farben wählen! Aber die Farbe wird ja so oder so bei jedem Frame neugezeichnet also ist das schnuppe! @wardz |
Re: DelphiX - Farbe
Wunderbar!
Danke, @seniman , ich hab nen Augenblick gebraucht, um zu begreifen, dass die anteilsmäßige Berechnung auch wirklich ein-eindeutig, daher mein Unverständnis, Czapie. |
Re: DelphiX - Farbe
Trotzdem noch ein kleines Problem:
Ich habe jetzt den typischen Windowsgrauton genommen (192, 192, 192) und das eben ausgerechnet, also 192 * 65536 +192 * 256 +192 ------------- =12632256 Aber herauskommen, kommt es eher dunkeles rot? Czapie. |
Re: DelphiX - Farbe
Hallo,
Zitat:
Grüße Seniman |
Re: DelphiX - Farbe
Nein ohne Scheiß!
Code:
Das ergibt bei mir bei Klick ein Formular in Rot!
procedure TForm1.DXDraw1Click(Sender: TObject);
begin DXDraw1.Surface.Fill(12632256); DXDraw1.Flip; end; Czapie. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz