[gelöst]Wiki zu Colors fehlerhaft ?
-
- Beiträge: 48
- Registriert: Sa 26. Dez 2020, 13:22
[gelöst]Wiki zu Colors fehlerhaft ?
Hallo,
wenn man sucht, wie Farben in Lazarus verwendet werden, findet sich oft folgende Doku:
https://wiki.freepascal.org/Colors
Da gibt es schöne Beispiele zu RGB Farben.
Ich bin aber überzeugt, da hat sich bei vielen Farben ein Fehler eingeschlichen.
Nur ein Beispiel:
Farbe Brown wird kodiert als TColor($A52A2A) -> ergibt aber in Wirklichkeit ein dunkles Blau
ich denke da wurde R mit B vertauscht und es sollte lauten TColor($2A2AA5)
wenn man sucht, wie Farben in Lazarus verwendet werden, findet sich oft folgende Doku:
https://wiki.freepascal.org/Colors
Da gibt es schöne Beispiele zu RGB Farben.
Ich bin aber überzeugt, da hat sich bei vielen Farben ein Fehler eingeschlichen.
Nur ein Beispiel:
Farbe Brown wird kodiert als TColor($A52A2A) -> ergibt aber in Wirklichkeit ein dunkles Blau
ich denke da wurde R mit B vertauscht und es sollte lauten TColor($2A2AA5)
Zuletzt geändert von oliver2104 am Do 14. Nov 2024, 12:43, insgesamt 1-mal geändert.
- Niesi
- Lazarusforum e. V.
- Beiträge: 581
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.9 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: Wiki zu Colors fehlerhaft ?
In Inkscape habe ich das hier als Resultat:
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
Re: Wiki zu Colors fehlerhaft ?
Hast recht, TColor hat im Vgl zu HTML R und B vertauscht. Im Abschnitt über die Farben in System.UITypes steht auch: clBlue = TColor($0000FF) - aber das ist definitiv rot, nicht blau, wie man auch in dem darüberstehenden Abschnitt über die 20 Delphi-kompatiblen Farben sieht. Ich denke, da hat der Autor einfach die Farbwerte aus der HTML-Spalte in die TColor-Spalte kopiert und vergessen, den R- und B-Anteil zu vertauschen.
"Man" müsste die Seite mal überarbeiten... [edit: erledigt]
[EDIT]
Ach, ich sehe gerade, das ist auch in System.UITypes schon falsch:
"Man" müsste also auch einen Bug-Report an das FPC-Projekt schicken...
[Noch ein EDIT]
Am git-Log sieht man, dass das inzwischen behoben ist, schon am 28.12.2021. Durch den langsamen Release-Zyklus von FPC ist die Änderung immer noch im aktuellen FPC 3.2.2 enthalten. In 3.2.4 müsste es richtig sein.
"Man" müsste die Seite mal überarbeiten... [edit: erledigt]
[EDIT]
Ach, ich sehe gerade, das ist auch in System.UITypes schon falsch:
Code: Alles auswählen
const
// 140 HTML colors.
AliceBlue = TColor($F0F8FF);
AntiqueWhite = TColor($FAEBD7);
Aqua = TColor($00FFFF);
Aquamarine = TColor($7FFFD4);
Azure = TColor($F0FFFF);
Beige = TColor($F5F5DC);
Bisque = TColor($FFE4C4);
Black = TColor($000000);
BlanchedAlmond = TColor($FFEBCD);
Blue = TColor($0000FF);
BlueViolet = TColor($8A2BE2);
Brown = TColor($A52A2A);
[Noch ein EDIT]
Am git-Log sieht man, dass das inzwischen behoben ist, schon am 28.12.2021. Durch den langsamen Release-Zyklus von FPC ist die Änderung immer noch im aktuellen FPC 3.2.2 enthalten. In 3.2.4 müsste es richtig sein.
Zuletzt geändert von wp_xyz am Do 14. Nov 2024, 00:48, insgesamt 2-mal geändert.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Wiki zu Colors fehlerhaft ?
Nur wen dies angepasst wird, wird es Probleme bei Programmen geben, welche diese Werte verwenden und dann auf einmal falsche Farben in ihren Programmen haben."Man" müsste also auch einen Bug-Report and das FPC-Projekt schicken...
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Wiki zu Colors fehlerhaft ?
Doppelpost
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Wiki zu Colors fehlerhaft ?
Mit diesem Argument dürfte man keine Bugs fixen.Mathias hat geschrieben: Di 12. Nov 2024, 14:51Nur wen dies angepasst wird, wird es Probleme bei Programmen geben, welche diese Werte verwenden und dann auf einmal falsche Farben in ihren Programmen haben."Man" müsste also auch einen Bug-Report and das FPC-Projekt schicken...
Dass das ein Bug ist, siehst du mit folgendem Code: Ein Formular mit zwei Panels, und im OnCreate steht der folgende Code --> man erwartet, dass beide Panels rot werden:
Code: Alles auswählen
uses
System.UITypes;
procedure TForm1.FormCreate(Sender: TObject);
begin
Panel1.Color := clRed;
Panel2.Color := TColorRec.Red;
end;
- Dateianhänge
-
- colorrec.red.png (4.17 KiB) 3774 mal betrachtet
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Wiki zu Colors fehlerhaft ?
Ich habe es gerade getestet, ich bekomme 2 rote Panels.
Getestet mit Linux Mint und eine paar Wochen alte Trunk von FPC/Lazarus.
Code: Alles auswählen
procedure TForm1.FormCreate(Sender: TObject);
begin
Panel1.Color := clRed;
Panel2.Color := TColorRec.Red;
end;
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Wiki zu Colors fehlerhaft ?
Klar. Ich habe oben geschrieben, dass das Problem schon am 28.12.2021 behoben wurde, aber leider noch im aktuellen FPC 3.2.2 enthalten ist, der ein paar Monate vorher freigegeben worden ist.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Wiki zu Colors fehlerhaft ?
Ups, ist es schon 3 Jahre her seit die letzte stable von fpc rauskram. Echt schade das es da immer so lange geht. Es hat in der trunk viele Features, welche endlich mal in die stable kommen sollten. Array Operationen, generic, etc.wp_xyz hat geschrieben: Di 12. Nov 2024, 22:30 Klar. Ich habe oben geschrieben, dass das Problem schon am 28.12.2021 behoben wurde, aber leider noch im aktuellen FPC 3.2.2 enthalten ist, der ein paar Monate vorher freigegeben worden ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Niesi
- Lazarusforum e. V.
- Beiträge: 581
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.9 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: Wiki zu Colors fehlerhaft ?
Mir ist wichtiger, dass es möglichst "fehlerarm" ist, also gründlich gearbeitet wird.Mathias hat geschrieben: Mi 13. Nov 2024, 08:27Ups, ist es schon 3 Jahre her seit die letzte stable von fpc rauskram. Echt schade das es da immer so lange geht. Es hat in der trunk viele Features, welche endlich mal in die stable kommen sollten. Array Operationen, generic, etc.wp_xyz hat geschrieben: Di 12. Nov 2024, 22:30 Klar. Ich habe oben geschrieben, dass das Problem schon am 28.12.2021 behoben wurde, aber leider noch im aktuellen FPC 3.2.2 enthalten ist, der ein paar Monate vorher freigegeben worden ist.
Und das ist bei OpenSource nun mal nicht immer so einfach, da der Fachkräftemangel im Bereich OpenSource besonders ausgeprägt ist ...

Danke an die, die da mitarbeiten

Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
-
- Beiträge: 48
- Registriert: Sa 26. Dez 2020, 13:22
Re: Wiki zu Colors fehlerhaft ?
Soweit ich das verstanden habe , liegt der Fehler nicht in der Wiki-Doku, sondern direkt im FPC 3.2.2
Und das wird in der nächsten FPC Version behoben, wann immer die auch kommen wird.
Sehe ich das richtig ?
Bis dahin werde ich die Farbzuweisungen mit der function RGBToColor(R, G, B: Byte) machen.
Ist zwar mühsam weil die Hex Werte aus der Wiki nach Dezimal konvertiert werden müssen,
aber die Farben bleiben so auch in der nächsten FPC Version die gleichen.
Auch ich möchte allen danken, die am FPC-Projekt mitarbeiten !!!
Und das wird in der nächsten FPC Version behoben, wann immer die auch kommen wird.
Sehe ich das richtig ?
Bis dahin werde ich die Farbzuweisungen mit der function RGBToColor(R, G, B: Byte) machen.
Ist zwar mühsam weil die Hex Werte aus der Wiki nach Dezimal konvertiert werden müssen,
aber die Farben bleiben so auch in der nächsten FPC Version die gleichen.
Auch ich möchte allen danken, die am FPC-Projekt mitarbeiten !!!
Re: Wiki zu Colors fehlerhaft ?
@ oliver2104
Schau dir mal Hex2Dec aus strutils an....
Schau dir mal Hex2Dec aus strutils an....
Gruß, Michael
Re: Wiki zu Colors fehlerhaft ?
Du kannst den Farbwert auch direkt als Hex-Zahl schreiben: $BBGGRR. Nimm die Werte aus dem wiki-Artikel und vertausche das 1. und letzte Byte. Oder schreib den Hex-Wert in the RGBToColor-Funktion (nun ohne Vertauschung von R und B):oliver2104 hat geschrieben: Mi 13. Nov 2024, 12:42 Bis dahin werde ich die Farbzuweisungen mit der function RGBToColor(R, G, B: Byte) machen.
Ist zwar mühsam weil die Hex Werte aus der Wiki nach Dezimal konvertiert werden müssen,
wiki: Brown - TColor($A52A2A) --> clBrown = $2A2AA5, oder RGBToColor($A5, $2A, $2A)
Übrigens, die "klassichen" Delphi-Farben sind im wiki richtig angegeben. Der Fehler steckt "nur" in den neuen "TColorRec"-Farben von FPC 3.2.0+ - die haben kein "cl" vorne, sondern das "TColorRec" (welcher schreibwütige Entwickler hat sich das ausgedacht?)
-
- Beiträge: 48
- Registriert: Sa 26. Dez 2020, 13:22
Re: Wiki zu Colors fehlerhaft ?
Danke für eure Antworten !
Glaube ich habe alles verstanden und seh das als gelöst.
Glaube ich habe alles verstanden und seh das als gelöst.