i'm sorry, but can you explain better your function?
maybe i can make my own function correctlyCode:Pixel alphaCompositePixel(Pixel p1, Pixel p2, Byte alpha = MaxAlpha) { double a1f = double(p1.a) / MaxAlpha, a2f = double(p2.a) / MaxAlpha, a0f = a1f + a2f * (1.0 - a1f); return { Byte((p1.r * a1f + p2.r * a2f * (1.0 - a1f)) / a0f), Byte((p1.g * a1f + p2.g * a2f * (1.0 - a1f)) / a0f), Byte((p1.b * a1f + p2.b * a2f * (1.0 - a1f)) / a0f), alpha }; }