Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   [Delphi]Farben (https://www.delphipraxis.net/141419-%5Bdelphi%5Dfarben.html)

changlee 8. Okt 2009 17:15

Re: [Delphi]Farben
 
achso, ja, das panel soll offenbar gar nicht die gemischte Farbe bekommen.

Delphi-Quellcode:
procedure TForm1.SBlauChange(Sender: TObject);
begin
  Blau:=SBlau.Position;
  ZBlau.Caption:=IntToStr(Blau);
  FBlau.Color := RGB(0, 0, ScrollbarBlau.Position);
  Farbe := RGB(ScrollbarRot.position, ScrollbarGruen.Position, ScrollbarBlau.Position);
end;

netmario 8. Okt 2009 17:17

Re: [Delphi]Farben [Erledigt]
 
Habs jetzt, weiß jetzt wies geht, vielen Dank für eure Hilfe.

DeddyH 8. Okt 2009 17:17

Re: [Delphi]Farben
 
Delphi-Quellcode:
procedure TForm1.SRotChange(Sender: TObject);
begin
  rot:=SRot.Position;
  Zrot.Caption:=IntToStr(rot);
  FRot.Color:=RGB(rot,0,0);
  FarbenPanel.Color := RGB(Rot, Gruen, Blau);
end;

procedure TForm1.SGruenChange(Sender: TObject);
begin
  Gruen:=SGruen.Position;
  ZGruen.Caption:=IntToStr(Gruen);
  FGruen.Color:=RGB(0,Gruen,0);
  FarbenPanel.Color := RGB(Rot, Gruen, Blau);
end;

procedure TForm1.SBlauChange(Sender: TObject);
begin
  Blau:=SBlau.Position;
  ZBlau.Caption:=IntToStr(Blau);
  FBlau.Color:=RGB(0,0,Blau);
  FarbenPanel.Color := RGB(Rot, Gruen, Blau);
end;

netmario 8. Okt 2009 17:22

Re: [Delphi]Farben
 
Hab noch ne kleine Frage, wie kann ich jetzt diese zusammengemischte Farbe im Hexadezimalsystem ausgeben lassen?

DeddyH 8. Okt 2009 17:25

Re: [Delphi]Farben
 
Mit IntToHex und GetRValue/GetGValue/GetBValue.

netmario 8. Okt 2009 17:35

Re: [Delphi]Farben
 
Bin mal wieder zu blöd das zu machen, könnt ihr mir bitte helfen?

DeddyH 8. Okt 2009 17:41

Re: [Delphi]Farben
 
RGB() mischt Dir aus den 3 Grundfarben einen Farbton. GetXValue (X für R, G, oder B) holt daraus dann wieder den entsprechenden Farbanteil. Das ist ein Byte, das Du mit IntToHex in einen String umwandeln kannst. Nun fügst Du die Teilstrings mit + wieder zusammen und fertig. Wo hängt es denn?

netmario 8. Okt 2009 18:22

Re: [Delphi]Farben
 
Wie muss ich das genau machen?
GetRValue:=r;
Label1.Caption:=IntToHex(r);
Das Wollte nicht gehen. Hatte erst eine Schuldoppelstunde Delphi, bitte um Verzeihung.

DeddyH 8. Okt 2009 18:24

Re: [Delphi]Farben
 
Delphi-Quellcode:
DeinString := IntToHex(GetRValue(Farbe),2) + IntToHex(GetGValue(Farbe),2) + IntToHex(GetBValue(Farbe),2);
Ungetestet.

[edit] Ich hatte die Digits vergessen. [/edit]

netmario 8. Okt 2009 18:26

Re: [Delphi]Farben
 
Delphi-Quellcode:
procedure TForm1.SRotChange(Sender: TObject);
begin
  rot:=SRot.Position;
  Zrot.Caption:=IntToStr(Rot);
  FRot.Color:=rot;
  FRot.Color:=RGB(rot,0,0);
  FarbenPanel.Color := RGB(Rot, Gruen, Blau);
  Label1.Caption:= IntToHex(GetRValue(Farbenpanel)) + IntToHex(GetGValue(Farbenpanel)) + IntToHex(GetBValue(Farbenpanel));
end;
Da kommt [Error] Unit1.pas(49): Incompatible types: 'Cardinal' and 'TPanel'


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.
Seite 2 von 4     12 34      

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