(二)程序代碼分析。好了,現(xiàn)在我們打開Fireworks MX的歷史面板(History)來看看,在Fireworks MX中歷史面板記錄了你的所有操作,它具有同類圖像處理軟件的基本功能,即多步Undo的操作。除此之外History面板的最重要功能還在于可以快速的創(chuàng)建命令,我們可以在History面板中將剛才制作的過程選中,不包括最后的文字輸入步驟,如下圖:
然后點擊History面板下方的“復制到剪貼版”,
在文本編輯器中粘貼剪貼版中的內(nèi)容,我們可以看到以下程序代碼:
我只顯示了代碼的前面語句,以便我們可以清楚地看到各個步驟Fireworks MX是執(zhí)行了什么語句。
首先我們講解一下fw.getDocumentDOM();FireworksMX的擴展很大程度上依賴于Document對象模型(DOM),而獲得當前文檔的DOM就是使用fw.getDocumentDOM()函數(shù),我們可以先不考慮這些深的原理,只要記住,每個執(zhí)行的動作都需要先用fw.getDocumentDOM()獲得文檔的DOM,也就是都必須在方法的前面加上fw.getDocumentDOM()。
下面我們將每一步都分解簡化,來看看每一步執(zhí)行的是什么代碼。
1、繪制新的矩形,并設置圓角數(shù)值:
fw.getDocumentDOM().addNewRectanglePrimitive({left:39, top:73, right:237, bottom:122}, 0.29999999999999999);
我們將其中的實際數(shù)值用變量來替換,就變?yōu)椋?/P>
fw.getDocumentDOM().addNewRectanglePrimitive({left:Left, top:Top, right:Right, bottom:Bottom}, Roundess);
2、改變矩形填充類型為漸變填充:
fw.getDocumentDOM().setFill({ category:"fc_Linear", ditherColors:[ "#000000", "#000000" ], edgeType:"antialiased", feather:0, gradient:{ name:"cn_Custom", nodes:[ { color:"#cccccc", isOpacityNode:false, position:0 }, { color:"#ffffff", isOpacityNode:false, position:0.99444442987442017 } ], opacityNodes:[ { color:"#000000", isOpacityNode:true, position:0 }, { color:"#000000", isOpacityNode:true, position:0.99444442987442017 } ] }, name:"Linear Smooth", pattern:null, shape:"linear", stampingMode:"blend opaque", textureBlend:0, webDitherTransparent:false });
我們將其中的實際數(shù)值用變量替換后就變?yōu)椋?/P>
fw.getDocumentDOM().setFill({ category:'fc_Linear', ditherColors:[ '#000000', '#000000' ], edgeType:'antialiased', feather:0, gradient:{ name:'cn_Custom', nodes:[ { color:'#ffffff', isOpacityNode:false, position:0 }, { color:"BColor", isOpacityNode:false, position:1 } ], opacityNodes:[ { color:'#000000', isOpacityNode:true, position:0 }, { color:'#000000', isOpacityNode:true, position:1 } ] }, name:'Linear Smooth', pattern:null, shape:'linear', stampingMode:'blend opaque', textureBlend:0, webDitherTransparent:false });
3、改變填充方向:
fw.getDocumentDOM().setFillVector({x:123, y:73}, {x:123, y:123}, {x:173, y:73});
我們將其中的實際數(shù)值用變量替換后就變?yōu)椋?/P>
fw.getDocumentDOM().setFillVector({x: Left,y: Bottom}, {x: Left, y: Top}, {x:Right, y:Bottom});
4、添加Inner Shadow效果:
fw.getDocumentDOM().applyEffects({ category:'UNUSED', effects:[ { EffectIsVisible:true, EffectMoaID:\"{5600f702-774c-11d3-baad0000861f4d01}\", ShadowAngle:315, ShadowBlur:5, ShadowColor:'#000000a6', ShadowDistance:0, ShadowType:0, category:'Shadow and Glow', name:'Inner Shadow' } ], name:'UNUSED' });
5、增加第二個矩形:
fw.getDocumentDOM().addNewRectanglePrimitive({left:43, top:79, right:230, bottom:99}, 0.29999999999999999);
將其中的實際數(shù)值用變量來替換,變?yōu)椋?/P>
fw.getDocumentDOM().addNewRectanglePrimitive({left: SLeft, top:STop, right:SRight, bottom:SBottom},SRound); ");
6、改變矩形漸變填充的顏色:因為第二個矩形的填充顏色就是黑色到白色,所以不需要用變量替換。
fw.getDocumentDOM().setFill({ category:'fc_Linear', ditherColors:[ '#000000', '#000000' ], edgeType:'antialiased', feather:0, gradient:{ name:'cn_Custom', nodes:[ { color:'#000000', isOpacityNode:false, position:0 }, { color:'#ffffff', isOpacityNode:false, position:1 } ], opacityNodes:[ { color:'#000000', isOpacityNode:true, position:0 }, { color:'#000000', isOpacityNode:true, position:1 } ] }, name:'Linear Smooth', pattern:null, shape:'linear', stampingMode:'blend opaque', textureBlend:0, webDitherTransparent:false });
7、 改變第二個矩形的填充方向:
fw.getDocumentDOM().moveFillVectorHandleBy({x:53, y:2}, "start", false, false);
將其中的實際數(shù)值用變量來替換,變?yōu)椋?/P>
fw.getDocumentDOM().setFillVector({x:SLeft,y:SBottom}, {x:SLeft, y:STop}, {x:SRight, y:SBottom});
8、 改變第二個矩形的混合模式:
fw.getDocumentDOM().setBlendMode('screen');
出處:
責任編輯:藍色
上一頁 分析階段 下一頁 需要的幾個參數(shù)
◎進入論壇Photoshop、Fireworks版塊參加討論
|