³ò :]Dc@sÁddkZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd „Zd d d „Z d d d „Z d„Z d„Z d„Z d„Zd„Zd„Zd„Zdd„ZdS(iÿÿÿÿNcCstid|i|ƒS(s&Fill a channel with a given grey leveltL(tImagetnewtsize(timagetvalue((sImageChops.pyctconstant+scCs |iƒS(sCreate a copy of a channel(tcopy(R((sImageChops.pyct duplicate6scCs |iƒ|i|iiƒƒS(sInvert a channel(tloadt_newtimt chop_invert(R((sImageChops.pyctinvertBs cCs0|iƒ|iƒ|i|ii|iƒƒS(s)Select the lighter pixels from each image(R R R t chop_lighter(timage1timage2((sImageChops.pyctlighterSs  cCs0|iƒ|iƒ|i|ii|iƒƒS(s(Select the darker pixels from each image(R R R t chop_darker(RR((sImageChops.pyctdarkeres  cCs0|iƒ|iƒ|i|ii|iƒƒS(sSubtract one image from another(R R R tchop_difference(RR((sImageChops.pyct differencevs  cCs0|iƒ|iƒ|i|ii|iƒƒS(sSuperimpose two positive images(R R R t chop_multiply(RR((sImageChops.pyctmultiply‰s  cCs0|iƒ|iƒ|i|ii|iƒƒS(sSuperimpose two negative images(R R R t chop_screen(RR((sImageChops.pyctscreenšs  gð?icCs6|iƒ|iƒ|i|ii|i||ƒƒS(sAdd two images(R R R tchop_add(RRtscaletoffset((sImageChops.pyctadd¬s  cCs6|iƒ|iƒ|i|ii|i||ƒƒS(sSubtract two images(R R R t chop_subtract(RRRR((sImageChops.pyctsubtract¾s  cCs0|iƒ|iƒ|i|ii|iƒƒS(sAdd two images without clipping(R R R tchop_add_modulo(RR((sImageChops.pyct add_moduloÏs  cCs0|iƒ|iƒ|i|ii|iƒƒS(s$Subtract two images without clipping(R R R tchop_subtract_modulo(RR((sImageChops.pyctsubtract_moduloàs  cCs0|iƒ|iƒ|i|ii|iƒƒS(sLogical and between two images(R R R tchop_and(RR((sImageChops.pyct logical_andës  cCs0|iƒ|iƒ|i|ii|iƒƒS(sLogical or between two images(R R R tchop_or(RR((sImageChops.pyct logical_orös  cCs0|iƒ|iƒ|i|ii|iƒƒS(sLogical xor between two images(R R R tchop_xor(RR((sImageChops.pyct logical_xors  cCsti|||ƒS(s5Blend two images using a constant transparency weight(Rtblend(RRtalpha((sImageChops.pycR* scCsti|||ƒS(sCCreate composite image by blending images using a transparency mask(Rt composite(RRtmask((sImageChops.pycR,scCs=|djo |}n|iƒ|i|ii||ƒƒS(s4Offset image in horizontal and/or vertical directionN(tNoneR R R R(Rtxoffsettyoffset((sImageChops.pycR)s   (RRRR RRRRRRRR!R#R%R'R)R*R,R.R(((sImageChops.pycss$