WEB开发网
开发学院图形图像CorelDRAW 用CorelScript来解决矩形圆角问题 阅读

用CorelScript来解决矩形圆角问题

 2004-09-15 18:14:50 来源:WEB开发网   
核心提示:众所周知当今流行的矢量图软件无非为以下三种,Corel公司的Coreldraw、Adobe公司的Illustrator、及Macromedia公司的Freehand,用CorelScript来解决矩形圆角问题,其中CorelDRAW以其更新速度快(据说CorelDRAW 11.0简体中文版即将出版),整体功能强大,找到

众所周知当今流行的矢量图软件无非为以下三种,Corel公司的Coreldraw、Adobe公司的Illustrator、及Macromedia公司的Freehand,其中CorelDRAW以其更新速度快(据说CorelDRAW 11.0简体中文版即将出版),整体功能强大,简而易学的操作赢得不少专业人士及非专业人士的青睐。

然而好东西并非完美无缺,亦难免有所瑕疵。今天要讲是如何画矩形圆角,有的老用户马上会嘀咕,这对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
界面如下图三,是不是很数字化?以后再画只要打开这程序,填数字即可。

图三

Tags:CorelScript 解决 矩形

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接