AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DelphiX - Farbe

Ein Thema von czapie · begonnen am 9. Feb 2004 · letzter Beitrag vom 12. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#1

DelphiX - Farbe

  Alt 9. Feb 2004, 16:07
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.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#2

Re: DelphiX - Farbe

  Alt 9. Feb 2004, 18:06
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
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#3

Re: DelphiX - Farbe

  Alt 9. Feb 2004, 18:20

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.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#4

Re: DelphiX - Farbe

  Alt 9. Feb 2004, 22:51
Hi,folgendes !

  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
-->-->
Dreamteam: Delphi und Bier!
  Mit Zitat antworten Zitat
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#5

Re: DelphiX - Farbe

  Alt 9. Feb 2004, 23:15
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
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#6

Re: DelphiX - Farbe

  Alt 10. Feb 2004, 00:33
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
-->-->
Dreamteam: Delphi und Bier!
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#7

Re: DelphiX - Farbe

  Alt 10. Feb 2004, 13:19
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.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#8

Re: DelphiX - Farbe

  Alt 10. Feb 2004, 13:33
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.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#9

Re: DelphiX - Farbe

  Alt 10. Feb 2004, 21:15
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
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#10

Re: DelphiX - Farbe

  Alt 10. Feb 2004, 22:03
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.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 Uhr.
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