![]() |
Farbmixer
Ich schreibe ein Programm, mit dem man die RGB Farben mixen kann. Das soll wie folgt sein:
man hat 3 TrackBars mit denen man die Farbe einstellt, ein Shape in dem die Farbe angezeigt werden soll und ein Textfeld in dem der Hexadezimalcode für die Farbe steht. So weit so gut.
Delphi-Quellcode:
Das funktioniert soweit, bis man in den 10er bereich des hexacodes kommt. Also 0A ... Dann meckert er: 0A ist kein gültiger Integerwert. Dabei speichere ich den Hexacode doch in einem String. Kann mir das mal wer erklärn?
var
Form1: TForm1; r1, g1, b1: Integer; r2, g2, b2, hex: string; implementation {$R *.dfm} procedure TForm1.TrackBar1Change(Sender: TObject); begin r1 := TrackBar1.Position; r2 := IntToHex(r1, 2); hex := r2 + g2 + b2; Shape1.Brush.Color := StringToColor(hex); end; |
Re: Farbmixer
Wahrscheinlich erkennt Delphi den Hexwert nicht als Hexwert. Setz' doch einfach mal das Zeichen "$" vor den String. So werden Hexwerte in Delphi nämlich eigentlich angegeben.
Delphi-Quellcode:
Ach ja: Farben werden in Delphi übrigens "rückwärts" definiert. Also nicht RRGGBB, sondern BBGGRR :roll:
procedure TForm1.TrackBar1Change(Sender: TObject);
begin r1 := TrackBar1.Position; r2 := IntToHex(r1, 2); hex := '$' + b2 + g2 + r2; Shape1.Brush.Color := StringToColor(hex); end; |
Re: Farbmixer
funktioniert. Danke
|
Re: Farbmixer
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 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