AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi hex-codes in RGB werte und umgekehrt??
Thema durchsuchen
Ansicht
Themen-Optionen

hex-codes in RGB werte und umgekehrt??

Ein Thema von maxmax · begonnen am 2. Aug 2007 · letzter Beitrag vom 5. Aug 2007
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: hex-codes in RGB werte und umgekehrt??

  Alt 3. Aug 2007, 09:54
Zitat von maxmax:
Und was kommt dann in die Klammern?? die hex werte oder? und die funktion ermittelt dann den Rot/Grün/Blau - anteil und geben ihn in in der normalen zahl an, oder?
Hi,
genau, als Parameter brauchst du der Funktion aber nicht unbedingt Hex werte übergeben.

Zitat von maxmax:
noch eine frage: man kann doch irgendwie so ein farben-fenster öffnen, indem man seine farbe auswählen kann (so ein fenster wie in paint, wenn man eine neue farbe nimmt) ich kenne das von anderen programmen...
also so ein fenster, indem rechts eine große farbenübersicht ist, in der man seine farben auswäjlen kann, und links ein paar kästchen mit den grundfarben sind...

ich glaube da gibt es doch einen farben-dialog, oder? wie kann man auf den im programm zugreifen??
Du meinst bestimmt den TColordialog.
Delphi-Quellcode:
  if Colordialog1.Execute then
    self.Color:= Colordialog1.Color;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: hex-codes in RGB werte und umgekehrt??

  Alt 3. Aug 2007, 13:14
Hier mal 2 Funktionen für dich, die ich selbst auch benutze:

Delphi-Quellcode:
function HtmlColorToColor(AHtmlColor: string): TColor;
begin
 Delete(AHtmlColor, 1, 1);
 Result := StrToInt('$' + Copy(AHtmlColor, 5, 2) + Copy(AHtmlColor, 3, 2) + Copy(AHtmlColor, 1, 2));
end;
function ColorToHTMLColor(Color: TColor): String;
begin
 Color := ColorToRGB(Color);
 Result := Format('#%.2x%.2x%.2x', [GetRValue(Color),GetGValue(Color), GetBValue(Color)]);
end;
Sven Kannenberg
  Mit Zitat antworten Zitat
Benutzerbild von maxmax
maxmax

Registriert seit: 21. Jun 2007
Ort: Garmisch-Partenkirchen
107 Beiträge
 
Delphi 7 Personal
 
#13

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 08:50
ich hab jetzt noch ein problem:
bei der umwandlung von hex in rgb muss ja die Hexfarbe vom typ Cardinal sein...
wie kann ich einen Inhalt eines Edit's (typ = String) in den typ Cardinal umwandeln??

hier mal mein hex in RGB umwandel-Qelltext:
Bitte auf kommentare antworten!!
Delphi-Quellcode:
procedure TForm1.Umwandeln1Click(Sender: TObject);
begin
Hex1 := Hexcolor.Text;
Col := Hex1; // Hier von String in Cardinal umwandeln!!!!

RGBan.Caption := Format('%d %d %d',[GetBValue(Col), GetGValue(Col),GetRValue(Col)]); // Muss man hier
// auch was wieder in einen String umwandeln???

Panel1.Color:= RGB(GetBValue(Col),GetGValue(Col),GetRValue(Col)); // Funktioniert das so???
end;
Und hier mein RGB in Hex umwandel - quelltext:
Bitte auch auf Kommentare antworten!!
Delphi-Quellcode:
procedure TForm1.Umwandeln2Click(Sender: TObject);
begin
R := ran.Text; //String
G := gan.Text; //String
B := ban.Text; //String
Hexcolor2.Caption := Format('#%.2x%.2x%.2x', [R,G,B]); // R,G,B hier Float oder Integer sein müssen ???
end;
Max S.
mfg maxmax
http://www.maxxam.de
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#14

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 09:46
Zitat von maxmax:
ich hab jetzt noch ein problem:
bei der umwandlung von hex in rgb muss ja die Hexfarbe vom typ Cardinal sein...
wie kann ich einen Inhalt eines Edit's (typ = String) in den typ Cardinal umwandeln??
Delphi-Referenz durchsuchenStringToColor();

Delphi-Quellcode:
procedure TForm1.Umwandeln1Click(Sender: TObject);
begin
Hex1 := Hexcolor.Text;
Col := Stringtocolor('$00FF0088'); // Hier von String in Cardinal umwandeln!!!!

RGBan.Caption := Format('%d %d %d',[GetBValue(Col), GetGValue(Col),GetRValue(Col)]); // Muss man hier
// auch was wieder in einen String umwandeln??? Mht Format doch ...?

Panel1.Color:= Col; // Funktioniert das so??? -> nein, auch einfacher ;-)
end;
Delphi-Quellcode:
procedure TForm1.Umwandeln2Click(Sender: TObject);
begin
R := ran.Text; //String
G := gan.Text; //String
B := ban.Text; //String
Hexcolor2.Caption := Format('#%.2x%.2x%.2x', [R,G,B]); // R,G,B hier Float oder Integer sein müssen ??? Weder noch - es müssen imho Byte-Werte sein (Ganzzahlig bis 255)
end;
  Mit Zitat antworten Zitat
Benutzerbild von maxmax
maxmax

Registriert seit: 21. Jun 2007
Ort: Garmisch-Partenkirchen
107 Beiträge
 
Delphi 7 Personal
 
#15

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 11:04
danke für die antwort, du hast mir perfekt geholfen... danke

noch eine frage: wie (mit welcher funktion) wandelt man von String in Byte um???
Delphi-Quellcode:
procedure TForm1.Umwandeln2Click(Sender: TObject);
begin
R := ran.Text;
G := gan.Text;
B := ban.Text;
Hexcolor2.Caption := Format('#%.2x%.2x%.2x', [R,G,B]);
Panel2.Color := RGB (R, G, B); // hier brauche ich bei R, G, B Bytes ... keine Strings wie???
end;
könntet ihr mir nochmal schnell helfen?? danke...
Max S.
mfg maxmax
http://www.maxxam.de
  Mit Zitat antworten Zitat
Benutzerbild von maxmax
maxmax

Registriert seit: 21. Jun 2007
Ort: Garmisch-Partenkirchen
107 Beiträge
 
Delphi 7 Personal
 
#16

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 11:23
Kann mir Bitte einer helfen???????????????????????????
Ich bräuchte es dringend...
Max S.
mfg maxmax
http://www.maxxam.de
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 11:35
Hi,

du musst aber darauf achten, dass gültige Zahlen in den Feldern sind und dass der Bereich der Zahlen zwischen 0..255 liegt.
RGB(StrToInt(R), StrToInt(G), StrToInt(B));
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 11:36
Hallo Max,

du liest scheinbar die Beiträge in deinem Thread nicht sehr genau. In Beitrag #12 hättest du sonst schon die Funktion StrToInt() kennen gelernt und die Funktion StringToColor() stand bereits in Beitrag #2 - vor zwei Tagen ...

Nachdenkliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von maxmax
maxmax

Registriert seit: 21. Jun 2007
Ort: Garmisch-Partenkirchen
107 Beiträge
 
Delphi 7 Personal
 
#19

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 11:39
Zitat von marabu:
Hallo Max,

du liest scheinbar die Beiträge in deinem Thread nicht sehr genau. In Beitrag #12 hättest du sonst schon die Funktion StrToInt() kennen gelernt und die Funktion StringToColor() stand bereits in Beitrag #2 - vor zwei Tagen ...

Nachdenkliche Grüße
doch ich lese die beiträge
aber ich habe nicht gewusst, das die funktionen StrToInt und StrToColor auch zum umwandeln in Bytes benützt werden können
bin halt noch ein anfänger...

danke bitsetter für die antwort

//Edit:

Jetzt funzt alles perfekt, ausser das:
Delphi-Quellcode:
procedure TForm1.Umwandeln2Click(Sender: TObject);
begin
try
R := ran.Text;
G := gan.Text;
B := ban.Text;
Hexcolor2.Caption := Format('#%.2x%.2x%.2x', [R,G,B]);
Panel2.Color := RGB(StrToInt(R), StrToInt(G), StrToInt(B));
except
ShowMessage('Ungülte Farbenwerte! Bitte überprüfen!');
end;
end;
er meldet das #%.2x% ein ungültiges Format ist!
was muss ich ändern?
Max S.
mfg maxmax
http://www.maxxam.de
  Mit Zitat antworten Zitat
Benutzerbild von maxmax
maxmax

Registriert seit: 21. Jun 2007
Ort: Garmisch-Partenkirchen
107 Beiträge
 
Delphi 7 Personal
 
#20

Re: hex-codes in RGB werte und umgekehrt??

  Alt 4. Aug 2007, 12:10
sry mein 2 post aber:
ich hab noch ein problem!

Delphi-Quellcode:
procedure TForm1.Umwandeln1Click(Sender: TObject);
begin
try
Hex1 := '$'+Hexcolor.Text;
Col := StringToColor(Hex1);
RGBan.Caption := Format('%d %d %d',[GetRValue(Col), GetGValue(Col),GetBValue(Col)]);
Panel1.Color:= Col;
except
ShowMessage ('Ungültige Farbenwerte! Bitte überprüfen!')
end;
end;
wenn ich 95CAFF für Hex1 nehme: kommt als RGB 255 202 149 // es muss 149 202 255 lauten!! Und das Pnael ziegt orange an, obwohl es hellblau ist! (siehe bug1.bmp)

wenn ich DB1B44 nehme kommt: 68 27 219 // Jetzt richtig ausser das es 189 statt 219 heißen muss! Und das Panel zeigt dunkelblau an, obwohl es dunkelrot ist!! (siehe bug2.bmp)

WARUM???
Angehängte Grafiken
Dateityp: bmp bug1_198.bmp (305,7 KB, 12x aufgerufen)
Dateityp: bmp bug2_823.bmp (399,8 KB, 4x aufgerufen)
Max S.
mfg maxmax
http://www.maxxam.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 18:00 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