% % use the templated product jpegs % %%% *xactmmtx "FaceBounds" text*xact "EyeBounds" text*xact "MouthBounds" text*xact _Face.Rpx _Face.Lpx sub !Face.Wpx _Face.Bpx _Face.Tpx sub !Face.Hpx % % subj eye center X eL + ((eR - eL) / 2) % _Face.eRpx _Face.eLpx sub 2.0 div _Face.eLpx add normint !Shooter.SecX % % subj eye center Y eT + ((eB - eT) / 2) % _Face.eBpx _Face.eTpx sub 2.0 div _Face.eTpx add normint !Shooter.SecY % % targ eye center X targW / 2 supplied as EyeX % % targ eye center Y targeT + (targeH / 2) supplied as EyeY % % % subj mouth center X mL + ((mR - mL) / 2) % _Face.mRpx _Face.mLpx sub 2.0 div _Face.mLpx add normint !Shooter.SmcX % % subj mouth center Y mT + ((mB - mT) / 2) % _Face.mBpx _Face.mTpx sub 2.0 div _Face.mTpx add normint !Shooter.SmcY % % targ mouth center X targW / 2 supplied as MouthX % % targ mouth center Y targmT + (targmH / 2) supplied as MouthY % % % scale of face matching (MouthY - EyeY) / (subjmouthcY - subjeyecY) % _Shooter.MouthY _Shooter.EyeY sub "moutheye" log)( _Shooter.SmcY _Shooter.SecY sub "submoutheye" log)( div "scaler" log)( !Shooter.Scale _Face.Wpx _Shooter.Scale mul normint !Shooter.Fsx _Shooter.Width !Shooter.Ftx _Face.Hpx _Shooter.Scale mul normint !Shooter.Fsy _Shooter.Height !Shooter.Fty % % translate face X EyeX - (scale * subjeyecX) % _Shooter.EyeX _Shooter.Scale _Shooter.SecX mul sub normint !Shooter.Dtx % % translate face Y EyeY - (scale * subjeyecY) % _Shooter.EyeY _Shooter.Scale _Shooter.SecY mul sub normint !Shooter.Dty /* 912 !Shooter.EyeX 483 !Shooter.EyeY 612 !Shooter.MouthX 1509 !Shooter.MouthY face at 0,0 of target subj eye center X eL + ((eR - eL) / 2) 209 + ((921 - 209) / 2) 565 targ eye center X targW / 2 supplied as EyeX subj eye center Y eT + ((eB - eT) / 2) 725 + ((937 - 725) / 2) 831 targ eye center Y targeT + (targeH / 2) supplied as EyeY subj mouth center X mL + ((mR - mL) / 2) 270 + ((882 - 270) / 2) 576 targ mouth center X targW / 2 supplied as MouthX subj mouth center Y mT + ((mB - mT) / 2) 1181 + ((1466 - 1181) / 2) 1323 targ mouth center Y targmT + (targmH / 2) supplied as MouthY scale of face matching (MouthY - EyeY) / (subjmouthcY - subjeyecY) (1509 - 483) / (1323 - 831) 2.085 resize face by scale translate face X EyeX - (scale * subjeyecX) 912 - (2.085 * 565) -266 translate face Y EyeY - (scale * subjeyecY) 483 - (2.085 * 831) -1249 */ " function XactSrc() { Xact = " xact quoter & &"; TargetPath = " empty ofxact jsfend &" SourceImage = [ TargetPath + " "incomingF.png" quoter & &" ]; SourceText = [ " &'"","","","","","","",""' &" ]; MaxOrdinal = " 1 & &"; SourcePath = " empty oftem jsfend &" Coloring = '" %%% _Sms.Coloring _Shooter.Color & &"'; OriginalLet = '" _Shooter.Twi & &"'; OriginalNum = " _Shooter.Tem quoter & &"; Template = SourcePath + " _Shooter.Tem %%% _Shooter.Twi _Shooter.ProdType letter true *glotempl exch !Shooter.Drop exch !Shooter.Capt &"_Face.psd" quoter & &"; FitScaledX = " &_Shooter.Fsx &"; FitScaledY = " &_Shooter.Fsy &"; FitTemX = " &_Shooter.Ftx &"; FitTemY = " &_Shooter.Fty &"; FitDeltaX = " &_Shooter.Dtx &"; FitDeltaY = " &_Shooter.Dty &"; } " "XactSrc" jsx!desk %%%% "XactSrd3" jsx!desk