function MergeRegEx(F, B, M: TColor32): TColor32;
procedure MergeMemEx(F: TColor32; var B: TColor32; M: TColor32);
Merges the foreground color with the background color using alpha of the foreground color scaled by the master alpha value M. Alpha-Channels are also merged.
SA = 1 - (1 - (M * FA)) (1 - BA)
SRGB = ((M * FA) * FRGB + BA * (1 - FA) * BRGB) / SA
M is defined as TColor32 to avoid unnecessary type conversions, it must store only values in [0..255] range, the function does not perform range checking and the result in case M > 255 is not specified.
MergeRegEx takes parameters and produces the result operating on CPU registers.
MergeMemEx operates with the background color referenced by a memory address.
Note, that after using MergeEx functions, you have to call EMMS. Otherwise CPU will be unable to handle floating point instructions.
Blend, BlendEx, Combine, EMMS, Merge, Color Types
Copyright ©2000-2012 Alex Denisov and the Graphics32 Team - Graphics32 v1.9.1 - Build on 28-August-2012