Dca' = A*Sca*Dca + B*Sca*Da + C*Dca*Sa + D*Sa*Da + Sca*(1.0-Da) +
Dca*(1.0-Sa)
*/
- pixel=gamma*(geometry_info.rho*Sca*Dca+
+ pixel=QuantumRange*gamma*(geometry_info.rho*Sca*Dca+
geometry_info.sigma*Sca*Da+geometry_info.xi*Dca*Sa+
geometry_info.psi*Sa*Da+Sca*(1.0-Da)+Dca*(1.0-Sa));
break;
case ModulusAddCompositeOp:
{
pixel=Sc+Dc;
- if (pixel > QuantumRange)
+ while (pixel > QuantumRange)
pixel-=QuantumRange;
+ while (pixel < 0.0)
+ pixel+=QuantumRange;
pixel=(Sa*Da*pixel+Sa*Sc*(1.0-Da)+Da*Dc*(1.0-Sa));
break;
}
case ModulusSubtractCompositeOp:
{
pixel=Sc-Dc;
- if (pixel < 0.0)
+ while (pixel > QuantumRange)
+ pixel-=QuantumRange;
+ while (pixel < 0.0)
pixel+=QuantumRange;
pixel=(Sa*Da*pixel+Sa*Sc*(1.0-Da)+Da*Dc*(1.0-Sa));
break;
thread_status;
thread_status=CompositeImage(image,texture_image,image->compose,
- MagickFalse,x+texture_image->tile_offset.x,y+
+ MagickTrue,x+texture_image->tile_offset.x,y+
texture_image->tile_offset.y,exception);
if (thread_status == MagickFalse)
{