Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DelphiX - Farbe (https://www.delphipraxis.net/16043-delphix-farbe.html)

czapie 9. Feb 2004 15:07


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.

Seniman 9. Feb 2004 17:06

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

czapie 9. Feb 2004 17:20

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:
  • Blutrot
    Weinrot
    Gelb
    Babyblau
    Giftgrün

Nur damit ich dich verstehe und die Unterschiede erkenne,

danke,

Czapie.

ATwardz 9. Feb 2004 21:51

Re: DelphiX - Farbe
 
Hi,folgendes !

Delphi-Quellcode:
  Form1.DXDraw1.Color:=RGB(0,16,176);
So gibt man im RGB Code die Farbe an die dann dxdraw1.surface besitzt!

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

Seniman 9. Feb 2004 22:15

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

ATwardz 9. Feb 2004 23:33

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

czapie 10. Feb 2004 12:19

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.

czapie 10. Feb 2004 12:33

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.

Seniman 10. Feb 2004 20:15

Re: DelphiX - Farbe
 
Hallo,

Zitat:

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?
Ich habe es ausprobiert und bei klappt es wunderbar, die DxDraw wurd grau und somit unsichtbar. Der Fehler scheint irgendwo anders zu liegen.

Grüße
Seniman

czapie 10. Feb 2004 21:03

Re: DelphiX - Farbe
 
Nein ohne Scheiß!

Code:
procedure TForm1.DXDraw1Click(Sender: TObject);
begin
DXDraw1.Surface.Fill(12632256);
DXDraw1.Flip;
end;
Das ergibt bei mir bei Klick ein Formular in Rot!

Czapie.


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