ich habe in meinem Projekt ein TBitmap, was ich Prozentual abdunkeln möchte.
Dieses Bitmap hat jedoch transparente (nicht halbtransparent) Pixel, die nach dem Abdunkeln ihre Transparenz verloren haben.
Mein Code sieht zurzeit so aus:
Code: Alles auswählen
t := Result.TransparentColor;
w := Result.Width-1;
h := Result.Height-1;
For x := 0 To w Do
For y := 0 To h Do
Begin
c := Result.Canvas.Pixels[x, y];
If (c = t) And Result.Masked Then //<sollte eigentlich das Problem beheben indem es durchsichtige Pixel überspringt, tut es aber nicht...
Continue;
RedGreenBlue(c, r, g, b);
r := round(r / 100 * Brightness); //<- r * Brightness%
g := round(g / 100 * Brightness);
b := round(b / 100 * Brightness);
Result.Canvas.Pixels[x, y] := RGBToColor(r, g, b);
End;
habe ich mal wieder ein Brett vorm Kopf oder warum bleiben die Pixel nicht Transparent???
(wenn sich das Problem bis morgen nicht aufgelöst hat werde ich ein Minimabeispiel dazu zusammenstellen, heute ist es zu spät dafür.
Gute Nacht)
MFG
Komoluna