Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TShape - neue farbe Organge (https://www.delphipraxis.net/113048-tshape-neue-farbe-organge.html)

NEPH1L1M 1. Mai 2008 20:32


TShape - neue farbe Organge
 
Hallo,

von Haus aus wird ja bei den TShape-Eigenschaften Brush.color kein Orange angeboten.

Wie kann ich ein TShape orange einfärben bzw. wie kann ich orange als Farbe einbinden ?

Danke für ein Info!

Gruss

NEPH

Fussball-Robby 1. Mai 2008 20:33

Re: TShape - neue farbe Organge
 
Guck dir mal die Funktion Delphi-Referenz durchsuchenRGB() an.

Mfg

toms 1. Mai 2008 20:35

Re: TShape - neue farbe Organge
 
Delphi-Quellcode:
const
  clOrange = $000080FF;
begin
  Shape1.Brush.Color := clOrange;
end;

NEPH1L1M 1. Mai 2008 20:37

Re: TShape - neue farbe Organge
 
Wow, ihr seit ja fix :)
Und wo füge ich

Delphi-Quellcode:
const
  clOrange = $000080FF;
ein ?
Direkt bei Start von Form ?

toms 1. Mai 2008 20:38

Re: TShape - neue farbe Organge
 
z.B im OnCreate der Form:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
const
  clOrange = $000080FF;
begin
  Shape1.Brush.Color := clOrange;
end;

himitsu 1. Mai 2008 20:44

Re: TShape - neue farbe Organge
 
Zitat:

Zitat von toms
z.B im OnCreate der Form

oder den Hex-Wert direkt Color zuweisen (im QuellCode oder im OI)

NEPH1L1M 1. Mai 2008 20:45

Re: TShape - neue farbe Organge
 
Super, klasse - vielen Dank.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);   //hauptprozedur Eröffnung! Doppelklick ins Formular
const
  clOrange = $000080FF;
dann müsste es ja global gelten oder ?

Oder muss ich es bei jeder Procedure
Delphi-Quellcode:
// IPL17-2
procedure TForm1.IPL172Click(Sender: TObject);
const
  clOrange = $000080FF;
begin
     radiogroup1.ItemIndex:=0; // Auf "ohne Bohrungen" setzen
     Laenge.Enabled:=true; //Eingabefelder aktiv für Eingabe schalten, oben ja deaktiviert
     Breite.Enabled:=true;
     Flaeche.Enabled:=false;
       listbox1.ItemIndex:=2;
     edit1.text:='IPL17-2';
     Shape1_Rechteck.Brush.Color := clOrange; // Rechteck einfärben neben Belastung für rechteckfläche
     Shape2_Kreis.Brush.Color := clOrange; // Kreis einfärben neben Belastung für Kreisfläche
     Shape1_Rechteck.Brush.Style := bsSolid; //Fläche voll, ohne Profil
     Shape2_Kreis.Brush.Style   := bsSolid; //Fläche voll, ohne Profil
extra einbinden ?

Gruss

Die Muhkuh 1. Mai 2008 20:46

Re: TShape - neue farbe Organge
 
Du kannst es auch einfach in den interface-Abschnitt verschieben, dann gilt es für die ganze Unit. ;)

mkinzler 1. Mai 2008 20:47

Re: TShape - neue farbe Organge
 
Oder in eine eigene Unit. Diese kannst du dann auch in andere Programme einbinden

NEPH1L1M 1. Mai 2008 20:53

Re: TShape - neue farbe Organge
 
Danke für die rasche und umfassende Hilfe, das teste ich gleich!!

Namenloser 1. Mai 2008 20:55

Re: TShape - neue farbe Organge
 
Ist dieser RGB-Wert nicht ein Türkis?
Imho müsste es so heißen: $00ff8000

NEPH1L1M 1. Mai 2008 20:56

Re: TShape - neue farbe Organge
 
Verschoben ins Interface - nun funzt es global!!

Nein Farbe ist korrekt = Orange !

Passt alles wunderbar :-D :-D :-D

3_of_8 1. Mai 2008 22:17

Re: TShape - neue farbe Organge
 
@NamenLozer: Im Speicher liegt das ganze als RRGGBB00. Als Integer interpretiert ist das auf einem Little-Endian-System wie dem x86 0x00BBGGRR. Also ist 0x000080FF völlig richtig: Rote Farbe mit voller Intensität, grüne Farbe mit halber Intensität, blaue Farbe gar nicht. ;)

mkinzler 1. Mai 2008 22:22

Re: TShape - neue farbe Organge
 
Es wird nicht RGBA sondern ABGR verwendet

NEPH1L1M 1. Mai 2008 22:32

Re: TShape - neue farbe Organge
 
Hi nochmals,

auf die function RGB zurück zukommen bzw. allgemein auf die Farbcodes wie im Beispiel hier "$000080FF".

Wie komme ich an diese Werte ?

In der Hilfe finde ich z.B. "RGB Color Spaces" oder unter RGB function dieses hier

"Arguments
red
Required. Number in the range 0-255 representing the red component of the color.
green
Required. Number in the range 0-255 representing the green component of the color.
blue
Required. Number in the range 0-255 representing the blue component of the color."



Dankee im voraus für einen Tipp!

Gruss

mkinzler 1. Mai 2008 22:34

Re: TShape - neue farbe Organge
 
Der Wert ist in Hex und zwar im Format
$AABBGGRR

Fussball-Robby 1. Mai 2008 23:23

Re: TShape - neue farbe Organge
 
Wenn du dich mit Hex allerdings nicht auskennst, kannst du auch RGB nehmen. Rot sähe damit so aus:
Delphi-Quellcode:
Color := RGB(255, 0, 0);
Die Parameter sind die Farbanteile von Rot, Grün & Blau jeweils von 0 - 255.

Mfg

mkinzler 2. Mai 2008 05:26

Re: TShape - neue farbe Organge
 
255 in Hex wäre dann §ff
0 $0
Rot wäre also $000000ff

1ermehr 2. Mai 2008 08:48

Re: TShape - neue farbe Organge
 
rgb funktioniert so wie licht...
0 = nix also ganz dunkel 255 = alles was geht also ganz hell(bezogen auf die jeweilige farbe)
und dann muss man halt ausprobieren was welche farbe ergibt: zb. rot und grün ergeben zusammen brauntönen
blau und grün ergeben türkies artige töne rot und blau lia artige und alle zusammen ergeben grau und weis töne

NEPH1L1M 2. Mai 2008 20:26

Re: TShape - neue farbe Organge
 
Hi,

ok super, danke!

D.h. ich kann colors auch direkt als RGB Wert angeben, diese könnte ich mir ja aus Programmen
wie z.B. PaintShoPro "holen", dort kann man sich den jeweiligen RGB-Wert auch anzeigen lassen.

Kann ich z.B. diesen Farbwert
Delphi-Quellcode:
Color := RGB(255, 0, 0);
einfach so definieren oder
muss ich vorher eine bestimmte Unit einbinden ?

Oder einfach ins Interface einbinden wie
mit
Delphi-Quellcode:
const clOrange = $000080FF;
?

Thx vorab!

Gruss :thumb:

DeddyH 2. Mai 2008 20:36

Re: TShape - neue farbe Organge
 
Mit der Zuweisung
Delphi-Quellcode:
Color := RGB(255,0,0);
solltest Du ein schön rotes Formular bekommen (Unit ist glaube ich Windows, ohne Gewähr).

Namenloser 2. Mai 2008 20:38

Re: TShape - neue farbe Organge
 
Zitat:

Zitat von 3_of_8
@NamenLozer: Im Speicher liegt das ganze als RRGGBB00. Als Integer interpretiert ist das auf einem Little-Endian-System wie dem x86 0x00BBGGRR. Also ist 0x000080FF völlig richtig: Rote Farbe mit voller Intensität, grüne Farbe mit halber Intensität, blaue Farbe gar nicht. ;)

Stimmt, ich komm da immer durcheinander. Wenn man G, B, R, A als Bytes in dieser Reihenfolge in einen Record packt ist es in der richtigen Reihenfolge. Und bei HTML ist es auch #RRGGBB.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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-2025 by Thomas Breitkreuz