An icon with transparent image areas is not displayed correctly on a BitBtn.
Partially transparent pixels are not rendered with their actual color, but as a gray tone.
This results in very unattractive display errors, especially where transparent pixels are used to provide a smoother display.
So far I have only noticed this problem with BitBtn. SpeedButton, DirectoryEdit, ToolButton or MenuItem's render the icons correctly.
Attached is an example to illustrate the problem. (Win10, Lazarus 2.2.0 FPC 3.2.2 x86_64-win64-win32/win64)
Some time ago I wrote a bugreport about this and in the meantime I saw that there are some more reports describing this bug.
Unfortunately there was no feedback in the bugtracker.
In the German Lazarus forum I also addressed this (
https://www.lazarusforum.de/viewtopic.php?p=124148#p124148).
Thereby it turned out:
That the problem is only present under Windows.
TBitBtn is a TWinControl descendant.
TSpeedButton is a TGraphicControl descendant and does not have the problem.
Now I'm not exactly an expert in this field, but I tried to get to the bottom of it anyway. Unfortunately without success.
So my question to you is: who knows something about this and can localize the place where the BitBtn icon is drawn, different from the other components.
Maybe a few small hints are enough to make it easier for the experts in the developer team to get started.
Here is an enlarged view where you can see the difference well.