![]() |
[Delphi]Farben
Hallo, wollte ein Farbcode Programm machen und habe drei Scrollbars, die jeweils von 0-255 gehen, also ein Byte. Ich habe jetzt den Wert den Scrollbars zugeordnet, der Rote Anteil funktioniert perfekt. Der Grüne und der Blaue, bei diesen beiden weiß ich nicht welche Werte ich zuordnen muss, könnt ihr mir helfen, vielen Dank.
|
Re: [Delphi]Farben
Es gibt eine Funktion namens RGB, damit sollte es am Einfachsten gehen.
|
Re: [Delphi]Farben
Sry, ich programmier noch nicht lange mit Delphi, wie kann man denn diese Funktion anwenden?
|
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: [Delphi]Farben
Delphi-Quellcode:
var
Farbe: TColor; begin Farbe := RGB(ScrollbarRot.position, ScrollbarGruen.Position, ScrollbarBlau.Position); // Im Shape anzeigen Shape.Color := Farbe; end; |
Re: [Delphi]Farben
Ich versteh das nicht so ganz, dass ist was ich bisher gemacht habe.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) FRot: TPanel; SRot: TScrollBar; ZRot: TLabel; FGruen: TPanel; ZGruen: TLabel; SGruen: TScrollBar; FBlau: TPanel; ZBlau: TLabel; SBlau: TScrollBar; FarbenPanel: TPanel; procedure SRotChange(Sender: TObject); procedure SGruenChange(Sender: TObject); procedure SBlauChange(Sender: TObject); private { Private declarations } public { Public declarations } Farben,rot,gruen,blau:Integer; Farbe:TColor; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.SRotChange(Sender: TObject); begin rot:=SRot.Position; Zrot.Caption:=IntToStr(rot); FRot.Color:=rot; end; procedure TForm1.SGruenChange(Sender: TObject); begin Gruen:=SGruen.Position; ZGruen.Caption:=IntToStr(Gruen); FGruen.Color:=Gruen; end; procedure TForm1.SBlauChange(Sender: TObject); begin Blau:=SBlau.Position; ZBlau.Caption:=IntToStr(Blau); FBlau.Color:=Blau; end; end. |
Re: [Delphi]Farben
Hi,
du weist der Farbe des Panels den integer Wert von der Scrollbar-Position zu. Das geht nicht. Und selbst wenn doch, dann würdest du ja nur eine der drei Grundfarben berücksichtigen. Du solltest nicht diesen integer Wert zuweisen, sondern die Farbe, die du mittels RGB() erhälst. Gruß, Stefan. |
Re: [Delphi]Farben
So funktioniert es aber auch, ich weiß nur nicht die Werte für Gruen und Blau, mit Rot geht es. Wie müsste es denn genau mit RGB aussehen?
|
Re: [Delphi]Farben
Delphi-Quellcode:
So ungefähr ;-)
procedure TForm1.SRotChange(Sender: TObject);
begin rot:=SRot.Position; Zrot.Caption:=IntToStr(rot); FRot.Color:=rot; FarbenPanel.Color := RGB(Rot, Gruen, Blau); end; procedure TForm1.SGruenChange(Sender: TObject); begin Gruen:=SGruen.Position; ZGruen.Caption:=IntToStr(Gruen); FGruen.Color:=Gruen; FarbenPanel.Color := RGB(Rot, Gruen, Blau); end; procedure TForm1.SBlauChange(Sender: TObject); begin Blau:=SBlau.Position; ZBlau.Caption:=IntToStr(Blau); FBlau.Color:=Blau; FarbenPanel.Color := RGB(Rot, Gruen, Blau); end; |
Re: [Delphi]Farben
Wie der Name RGB schon sagt:
Maximum R=255 Maximum G=255 Maximum B=255 Gruß Wolgang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 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