... a quick test tells that , at pixel level, pygame 1.8.1release: > > sf1 sf2 sf1.blit(sf2,None,'BLEND_RGBA_SUB') > > (r1,g1,b1,a1) (r2,g2,b2,a2) (clamp(r1-r2),clamp(g1-g2), clamp(b1-b2), > 255) > > Looks wrong to me, but there are not specs for the oper. > > -- > > claxo > sorry, the prev aplies if both surfaces has no alpha channel.
When both surfaces have alpha channel ,the current behavoir is sf1 sf2 sf1.blit(sf2,None,'BLEND_RGBA_SUB') (r1,g1,b1,a1) (r2,g2,b2,a2) (clamp(r1-r2),clamp(g1-g2), clamp(b1-b2), clamp(a1-a2)) Seems to follow the pattern of the BLEND_RGB , meaning an oper aplied per channel ion a separable fashion. Not so usefull ?