發新話題

[教學] 用CorelScript來解決矩形圓角問題

[教學] 用CorelScript來解決矩形圓角問題

  眾所周知當今流行的矢量圖軟件無非為以下三種,Corel公司的CorelDRAW、Adobe公司的Illustrator、及Macromedia公司的Freehand,其中CorelDRAW以其更新速度快,整體功能強大,簡而易學的操作贏得不少專業人士及非專業人士的青睞。

  然而好東西並非完美無缺,亦難免有所瑕疵。今天要講是如何畫矩形圓角,有的老用戶馬上會嘀咕,這對CorelDRAW不是問題啊,輕而易舉就可解決,且9.0以上版本可對矩形四角任意一角畫圓角。好,先讓我們來畫一矩形。
  要求:畫一50×100mm的矩形,然後四角變45度圓角。
  傳統方法一:按矩形工具,徒手畫一矩形,然後在菜單條下面的工具欄object(s) size
中填入寬50mm,高100mm,最後四角變45度圓角(見圖一)。

圖一
  傳統方法二:先用引導線(Guidelines)定位50x100mm,然後選View菜單中Snap to Guidelines,再在剛才引導線範圍內畫矩形,最後四角變45度(見圖二)。

圖二

  通過以上兩種方法,我們可以看到,最終得到的圓角是不一致的,顯然後一種方法得到的結果更令人滿意些。於是我們每畫一個這樣的圖,往往都會用到方法二,那麼有沒有更事半功倍的方法?有!
  下面我們介紹用CorelScript來解決矩形圓角問題。CorelScript是捆綁在CorelDRAW中的一個腳本程序,它就像Photoshop中的一個Action,或是Plug-in。
  以下就是畫矩形圓角的程式
j1=0 &&寬
j2=0 &&高
j3=0.15 &&輪廓線粗細(默認是0.15mm)
x=0 &&輪廓線是否按比例縮放(默認數值是0,即是)
z1=0 &&左上角角度
z2=0 &&左下角角度
z3=0 &&右上角角度
z4=0 &&右下角角度
WITHOBJECT "CorelDraw.Automation.11" &&如果是9.0就改為Automation.9
BEGIN DIALOG Dialog1 198, 150, " 標準矩形 程式:張震軍"
  TEXT 95, 69, 18, 11, "毫米"
  TEXT 95, 26, 19, 11, "毫米"
  TEXTBOX 56, 23, 36, 14, j1
  TEXTBOX 56, 66, 36, 14, j3
  GROUPBOX 7, 9, 184, 118, "輸入區"
  OKBUTTON 111, 132, 35, 13
  CANCELBUTTON 155, 132, 35, 13
  TEXT 30, 26, 25, 10, "寬度:"
  TEXT 13, 69, 41, 10, "矩形輪廓:"
  TEXT 30, 47, 25, 10, "高度:"
  TEXTBOX 56, 44, 36, 14, j2
  TEXT 95, 47, 18, 11, "毫米"
  TEXT 52, 113, 75, 10, "輪廓線按比例縮放:"
  OPTIONGROUP x
    OPTIONBUTTON 129, 112, 21, 11, "是"
    OPTIONBUTTON 161, 112, 24, 11, "否"
  TEXT 174, 69, 15, 10, "度"
  TEXT 123, 90, 27, 10, "右下角"
  TEXT 123, 26, 27, 10, "左上角"
  TEXT 174, 26, 15, 10, "度"
  TEXT 123, 47, 27, 10, "左下角"
  TEXT 123, 69, 27, 10, "右上角"
  TEXT 174, 47, 15, 10, "度"
  TEXT 174, 90, 15, 10, "度"
  TEXTBOX 149, 23, 22, 13, z1
  TEXTBOX 149, 44, 22, 13, z2
  TEXTBOX 149, 66, 22, 13, z3
  TEXTBOX 149, 87, 22, 13, z4
END DIALOG
j=dialog(dialog1) &&這是判別ok or cancel
if j=1 then
.CreateRectangle(val(j2)*10000)/2,-(val(j1)*10000)/2,-(val(j2)*10000)/2,(val(j1)*10000)/2,(val(z3)*10000)/2 &&這是畫矩形
.SetCornerRoundness z1*10, z2*10, z3*10, z4*10 &&這是畫圓角
if x=0 then
.ApplyOutline val(j3)*10000, 1, 0, 0, 100, 0, 0, -1, -1, FALSE, 2, 0, true
ELSEIF x=1 THEN
.ApplyOutline val(j3)*10000, 1, 0, 0, 100, 0, 0, -1, -1, FALSE, 2, 0, FALSE
&&輪廓線粗細
endif
endif
end withobject
  我們可以用CorelScript編輯器寫或用寫字板,寫完後以.csc格式保存(如,標準矩形.csc)。
  以上程序主要用到的語句有:
  畫矩形語句語法
.CreateRectangle .Top = long, .Left = long, .Bottom = long, .Right = long
  圓角語句語法
.SetCornerRoundness 左上角角度,左下角角度,右上角角度,右下角角度
  下面我們執行一下這個程式,點擊tools菜單中的run script,找到標準矩形.csc
界面如下圖三,是不是很數字化?以後再畫只要打開這程序,填數字即可。


圖三

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。