Hallo,
für eine Skinfunktion eines meiner Programme hatte ich folgende Idee:
Um das Programm, bzw. den Skin belieibig färben zu können, nehme ich Schwarz-Weiß-Bitmaps für die Controls die ich als Bilder habe und färbe die dann entsprechend ein.
Der User wählt dann einen Farbton und entsprechend werden dann Pixel für Pixel des Bildes, je nach Grauwert, gefärbt.
Aber das will mir irgendwie nicht so recht gelingen!
Ich habe folgendes probiert:
Delphi-Quellcode:
PixelColor :=
RGB(round(r*(getRValue(PixelColor) / 255)),
round(g*(getRValue(PixelColor) / 255)),
round(b*(getRValue(PixelColor) / 255)));
Dabei ist PixelColor die Farbe des S/W-Pixels des Skins und r,g und b sind die aufgeteilten
RGB-Werte der Farbe, mit der gefärbt werden soll.
Wenn ich das so mache, funktioniert das aber nicht so richtig, ich kann partout nicht mit einem blauton färben und auch sonst ist die Farbdarstellung nicht richtig...
Gibt es da noch eine gute Möglichkeit?
Wenn einer was mit HLS hat, bitte mit Code, daran bin ich nämlich auch gescheitert...
Viele Grüße
Florian