Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

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)

netmario 8. Okt 2009 16:44


[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.

DeddyH 8. Okt 2009 16:48

Re: [Delphi]Farben
 
Es gibt eine Funktion namens RGB, damit sollte es am Einfachsten gehen.

netmario 8. Okt 2009 16:52

Re: [Delphi]Farben
 
Sry, ich programmier noch nicht lange mit Delphi, wie kann man denn diese Funktion anwenden?

DP-Maintenance 8. Okt 2009 16:55

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.

Die Muhkuh 8. Okt 2009 16:55

Re: [Delphi]Farben
 
Delphi-Quellcode:
var
  Farbe: TColor;
begin
  Farbe := RGB(ScrollbarRot.position, ScrollbarGruen.Position, ScrollbarBlau.Position);

// Im Shape anzeigen
  Shape.Color := Farbe;
end;

netmario 8. Okt 2009 17:03

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.

changlee 8. Okt 2009 17:08

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.

netmario 8. Okt 2009 17:11

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?

Die Muhkuh 8. Okt 2009 17:12

Re: [Delphi]Farben
 
Delphi-Quellcode:
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;
So ungefähr ;-)

Wolfgang Mix 8. Okt 2009 17:13

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 02:22 Uhr.
Seite 1 von 4  1 23     Letzte »    

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