AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Farbpalette erstellen?
Thema durchsuchen
Ansicht
Themen-Optionen

Farbpalette erstellen?

Ein Thema von mirage228 · begonnen am 16. Feb 2004 · letzter Beitrag vom 16. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Farbpalette erstellen?

  Alt 16. Feb 2004, 14:15
Hallo,

ich wollte gerne eine Farbpalette zeichnen, wie im Anhang zu sehen ist.
Ich hab versucht den Code für einen normalen Farbverlauf zu modifizieren, aber so eine ganze Palette scheint doch etwas komplizierter zu sein...
Wie stelle ich das am Besten an?

mfG
mirage228
Miniaturansicht angehängter Grafiken
farbpalette.jpg  
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 14:20
Hi!

Ich weiß nicht, wie das geht.


Für was brauchst du es denn?

Falls du's für ne Farbauswahl benötigst, kannst du auch ein normales Bitmap nehmen und die Farbe unter dem Cursor abfragen.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 14:23
Ich wollte mir eine kleine eigene Komponente basteln, die eine solche Palette darstellen kann. ^^

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 14:24
Hallo mirage228,

Du könntest auch den TColorDialog von Delphi verwenden, ist halt ein Dialog...

[EDIT] Ups, habe Deine Antwort zu spät gesehen [/EDIT]
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 14:26
Hi App,

genau das wollte ich umgehen. Ich wollte nicht den nutzer einen eigenen Dialog aufrufen lassen, sondern es halt mit einer eigenen Komponente machen, die ich überall auf mein Form platzieren kann.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 14:26
Hi,
du musst mal mit den HSB- und RGB-Werten rumprobieren.
Lass einfach eine Schleife durchlaufen und je nachdem, wo die 6 Werte (h, s, b, r, g, b) gerade sind, kannst du mal versuchen eine Farbe ausgeben.
Ist zwar Trial&Error, aber hilft immer...

Chris
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 14:27
Kannst ja mal schauen, wie Mike Lischke dies für seine Komponente realisiert hat. Sein Download beinhaltet den Source. Die Optik ist zwar eine leicht Andere, aber vielleicht inspiriert Dich diese Herangehensweise ja zu irgendetwas.

http://www.delphi-gems.com/Controls.php#ColorPB
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 14:34
Zitat von Daniel:
Kannst ja mal schauen, wie Mike Lischke dies für seine Komponente realisiert hat. Sein Download beinhaltet den Source. Die Optik ist zwar eine leicht Andere, aber vielleicht inspiriert Dich diese Herangehensweise ja zu irgendetwas.

http://www.delphi-gems.com/Controls.php#ColorPB
Danke, werde ich mir mal anschauen ^^

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#9

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 15:59
Delphi-Quellcode:
procedure TForm1.cmdRGBtoHSVClick(Sender: TObject);
var iDelta,
    iMax,
    iMin,
    h, s, v : Double;
    r, g, b : Byte;
begin
  r := StrToInt(txtR.Text);
  g := StrToInt(txtG.Text);
  b := StrToInt(txtB.Text);


  iMax := MaxIntValue([R, G, B]);
  iMin := MinIntValue([R, G, B]);
  iDelta := iMax - iMin;
  h := 0;
  if iDelta > 0 then
     begin
       if r = iMax then h := (b - g) / iDelta;
       if b = iMax then h := (g - r) / iDelta + 2;
       if g = iMax then h := (r - b) / iDelta + 4;
     end;
  h := h * 60;
  if h < 0 then h := h + 360;
  if iMax = 0 then
     s := 0
  else
     s := iDelta / iMax;
  v := iMax / 255;

  txtH.Text := FloatToStr(h);
  txtS.Text := FloatToStr(s);
  txtV.Text := FloatToStr(v);
end;

const
  cdwKreis : array [0..5] of Cardinal = ($0000FF, $FF00FF, $FF0000,
    $FFFF00, $00FF00, $00FFFF);

procedure TForm1.cmdHSVtoRGBClick(Sender: TObject);
var iColor,
    iNext : Integer;
    dwColor : Cardinal;
    fDelta,
    h, s, v : Double;
begin
  h := StrToFloat(txtH.Text);
  s := StrToFloat(txtS.Text);
  v := StrToFloat(txtV.Text);

  iColor := Trunc(h / 60);
  fDelta := Frac(h / 60);

  if iColor = 5 then
     iNext := 0
  else
     iNext := iColor + 1;
  dwColor := GetMixColor(cdwKreis[iColor], cdwKreis[iNext], fDelta);
  dwColor := GetMixColor(dwColor, $FFFFFF, 1 - s);
  dwColor := GetMixColor(dwColor, 0, v);

  txtR.Text := IntToStr(GetRValue(dwColor));
  txtG.Text := IntToStr(GetGValue(dwColor));
  txtB.Text := IntToStr(GetBValue(dwColor));
end;
Vielleicht hilft das ja weiter...
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Farbpalette erstellen?

  Alt 16. Feb 2004, 18:37
Hi!

Danke für den Code.

Um ihn noch ausprobieren zu können, bräuchte ich noch die Funktion GetMixColor(), die ich bei meinem Delphi nicht finden kann.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:18 Uhr.
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