<<-- ImagerFunctionDeviceTest.cm>> <<-- Mik Lamming - October 7, 1985 11:35:12 am PDT>> <> <<>> bringover [Cedar]Top>ImagerViewer.df bringover [Cedar]Top>AIS.df bringover [Cedar]Top>Interpress.df bringover /ivy/lamming/top/PixelmapFuns.df copy ///fonts/xerox/xc1-1-1-0/ITCBauhausMRRc0.sd _ /cyan/imaging/fonts/ITCBauhausMRRc0.sd copy ///fonts/xerox/xc1-1-1-0/ITCBauhausBRRc0.sd _ /cyan/imaging/fonts/ITCBauhausBRRc0.sd copy ///fonts/xerox/xc1-1-1-0/ITCBerkeleyMRRc0.sd _ /cyan/imaging/fonts/ITCBerkeleyMRRc0.sd copy ///fonts/xerox/xc1-1-1-0/ITCBerkeleyBRRc0.sd _ /cyan/imaging/fonts/ITCBerkeleyBRRc0.sd copy ///fonts/xerox/xc1-1-1-0/ITCBerkeleyMIRc0.sd _ /cyan/imaging/fonts/ITCBerkeleyMIRc0.sd copy ///fonts/xerox/xc1-1-1-0/FlemishScriptIIMRRc0.sd _ /cyan/imaging/fonts/FlemishScriptIIMRRc0.sd colordisplay 8 on run aisimpl run pixelmapopsimpl run ImagerFunctionDeviceImpl run ImagerAlpha4DeviceImpl run ImagerViewerimpl run InterpressPackage run PixelMapFunsImpl _ &sSize _ 800 _ &fSize _ 800 _ &scale _ &sSize / 500.0; _ &vc _ ImagerViewer.Create[[name:"vc", column:color, iconic:FALSE], pixels] _ ImagerViewer.Clear[&vc] _ &aisStem _ "BirdletCut" _ &aisRed _ Rope.Cat[&aisStem, "-red.ais"]; _ &aisGrn _ Rope.Cat[&aisStem, "-grn.ais"]; _ &aisBlu _ Rope.Cat[&aisStem, "-blu.ais"]; _ &aisARed _ Rope.Cat[&aisStem, "-Ared.ais"]; _ &aisAGrn _ Rope.Cat[&aisStem, "-Agrn.ais"]; _ &aisABlu _ Rope.Cat[&aisStem, "-Ablu.ais"]; _ &aisAlpha _ Rope.Cat[&aisStem, "-alpha.ais"]; _ &bgStem _ "Driplet" _ &bgRed _ Rope.Cat[&bgStem, "-red.ais"]; _ &bgGrn _ Rope.Cat[&bgStem, "-grn.ais"]; _ &bgBlu _ Rope.Cat[&bgStem, "-blu.ais"]; _ &bgARed _ Rope.Cat[&bgStem, "-Ared.ais"]; _ &bgAGrn _ Rope.Cat[&bgStem, "-Agrn.ais"]; _ &bgABlu _ Rope.Cat[&bgStem, "-Ablu.ais"]; _ &bgAlpha _ Rope.Cat[&bgStem, "-alpha.ais"]; <<-- calculate a vignette for an alpha channel>> _ &temp _ PixelMapFunsImpl.LoadAIS[&bgRed]; _ &bgH _ &temp.sSize _ &bgW _ &temp.fSize _ &temp.refRep.ref _ NIL; _ PixelMapFunsImpl.StoreAIS[PixelMapFunsImpl.Ellipse[&bgH, &bgW, 255, 0, 0.4, 0.85], &bgAlpha] _ ImagerAlpha4DeviceImpl.PremultiplyAIS[&bgRed, &bgGrn, &bgBlu, &bgAlpha, &bgARed, &bgAGrn, &bgABlu] _ &temp _ PixelMapFunsImpl.LoadAIS[&aisRed]; _ &aisH _ &temp.sSize _ &aisW _ &temp.fSize _ &temp.refRep.ref _ NIL; <<-- normalise the ais files for the alpha channel>> _ ImagerAlpha4DeviceImpl.PremultiplyAIS[&aisRed, &aisGrn, &aisBlu, &aisAlpha, &aisARed, &aisAGrn, &aisABlu] <<-- make a pixel array from the color>> _ &pa _ ImagerAlpha4Device.MakePixelArrayFromAIS[&bgARed, &bgAGrn, &bgABlu, &bgAlpha]; _ &pb _ ImagerAlpha4Device.MakePixelArrayFromAIS[&aisARed, &aisAGrn, &aisABlu, &aisAlpha]; <<-- create the alpha device>> _ &pms _ ImagerFunctionDeviceImpl.MakePMS[4,&fSize,&sSize] _ &c _ ImagerAlpha4Device.Create[&pms, ImagerFunctionDeviceImpl.LikeScreen[&sSize], 1] <<-- set up font>> _ &fontH _ 120 * &scale _ &f _ ImagerFont.Scale[ImagerFont.Find["Xerox/xc1-1-1-0/FlemishScriptIIMRRc0"], &fontH] <<-- _ &f _ ImagerFont.Scale[ImagerFont.Find["Xerox/PressFonts/TimesRoman-MRR"], &fontH]>> _ Imager.SetFont[&c, &f]; _ &top _ &sSize-&fontH/3 _ &left _ 30 * &scale _ Imager.SetColor[&c, ImagerAlpha4Device.MakeConstantColor[ImagerColor.ColorFromRGB[[0.5,0.6,1],NIL], 1]] _ Imager.MaskRectangle[&c, [0,0,&fSize,&sSize]] _ Imager.SetSampledColor[&c, &pa, ImagerTransformation.Scale[RealOps.Float[&fSize]/&bgW], NIL] _ Imager.MaskRectangle[&c, [0,0,&fSize,&sSize]] _ Imager.TranslateT[&c, [10*&scale, -20*&scale]]; _ Imager.SetColor[&c, ImagerAlpha4Device.MakeConstantColor[ImagerColor.ColorFromRGB[[0,0,0],NIL], 0.25]] _ Imager.SetXY[&c, [&left+(110 * &scale), &top-&fontH]] _ Imager.ShowRope[&c, "Real"]; _ Imager.SetXY[&c, [&left+(60 * &scale), &top-&fontH*2]] _ Imager.ShowRope[&c, "shadows?"]; _ Imager.TranslateT[&c, [-10*&scale, 10*&scale]]; _ Imager.SetColor[&c, ImagerAlpha4Device.MakeConstantColor[ImagerColor.ColorFromRGB[[1,0,0],NIL], 1]] _ Imager.SetXY[&c, [&left+(110 * &scale), &top-&fontH]] _ Imager.ShowRope[&c, "Real"]; _ Imager.SetXY[&c, [&left+(60 * &scale), &top-&fontH*2]] _ Imager.ShowRope[&c, "shadows?"]; _ Imager.ScaleT[&c, 0.3]; _ Imager.TranslateT[&c, [&aisW*2, &aisH*2]]; _ Imager.SetSampledColor[&c, &pb, ImagerTransformation.Scale[RealOps.Float[&fSize]/&aisW], NIL] _ Imager.MaskRectangle[&c, [0,0,&fSize,&sSize]] _ &pa2 _ ImagerOps.PixelArrayFromPixelMaps[&pms, ImagerTransformation.Invert[m: ImagerFunctionDeviceImpl.LikeScreen[&sSize]]] _ Imager.SetSampledColor[&vc, &pa2, NIL, ImagerColorOperator.RGBLinearColorModel[255]] _ Imager.MaskRectangle[&vc, [0,0,&fSize,&sSize]] _ &ipf _ ImagerInterpress.Create["Transparent.ip"]; _ &ipc _ ImagerInterpressBackdoor.GetContext[&ipf]; _ Imager.ScaleT[&ipc, 0.00035277778] _ &pa2 _ ImagerOps.PixelArrayFromPixelMaps[&pms, ImagerTransformation.Invert[m: ImagerFunctionDeviceImpl.LikeScreen[&sSize]]] _ Imager.SetSampledColor[&ipc, &pa2, NIL, ImagerColorOperator.RGBLinearColorModel[255]] _ Imager.MaskRectangle[&ipc, [0,0,&fSize,&sSize]] _ ImagerInterpressBackdoor.NewPage[&ipf, &ipc, TRUE]; _ ImagerInterpress.Close[&ipf] InterpressToPD transparent.pd _transparent.ip color400 _ PixelMapFunsImpl.StoreAIS[&pms.first, "GirlAndBird-red.ais"] _ PixelMapFunsImpl.StoreAIS[&pms.rest.first, "GirlAndBird-grn.ais"] _ PixelMapFunsImpl.StoreAIS[&pms.rest.rest.first, "GirlAndBird-blu.ais"]