Also Ich kann Bilderlisten im on create der Form bearbeiten(wenn ich vorher wüsste ob Darkmode gerade aktiv ist.
Delphi-Quellcode:
var aCanvas:TCanvas;
i,j :Integer;
begin
for i:= 0 to BilderlisteGruppenUndPersonen.Source.count-1 do
Begin
For j:= 0 to BilderlisteGruppenUndPersonen.Source.Items[i].MultiResBitmap.Count-1 do
Begin
aCanvas := BilderlisteGruppenUndPersonen.Source.Items[i].MultiResBitmap.Items[j].Bitmap.Canvas;
aCanvas.BeginScene;
aCanvas.Bitmap.InvertAlpha;
aCanvas.EndScene;
End;
Leider tauscht InvertAlpha einfach nur Farbpixel zu Alphapixeln und Alphapixel zu Farbpixeln.
Ich bräuchte eine logische Operation die XOR mit einem dem Bild selbst ausführt oder eine NOT Operation für Farbpixel.
Gibt es das?
EDIT:
so komme ich weiter!
Delphi-Quellcode:
var aCanvas:TCanvas;
i,j :Integer;
begin
for i:= 0 to BilderlisteGruppenUndPersonen.Source.count-1 do
Begin
For j:= 0 to BilderlisteGruppenUndPersonen.Source.Items[i].MultiResBitmap.Count-1 do
Begin
aCanvas := BilderlisteGruppenUndPersonen.Source.Items[i].MultiResBitmap.Items[j].Bitmap.Canvas;
aCanvas.BeginScene;
aCanvas.Bitmap.ReplaceOpaqueColor(TAlphaColors.Wheat);
aCanvas.EndScene;
End;
End;
Jetzt nur noch den Darkmode detecten können!
Wie geht das?