I am trying to implement my own composite program but cannot get the ideal result at the edge of the object until I saw your source code.
The operation like multiply is just mention as A*B in every blending document but in your code it is:
Code: Select all
static inline MagickRealType Multiply(const MagickRealType Sca,
const MagickRealType Sa,const MagickRealType Dca,const MagickRealType Da)
{
return(Sca*Dca+Sca*(1.0-Da)+Dca*(1.0-Sa));
}