向日葵视频在线下载_向日葵视频网站_向日葵小视频APP污_向日葵视频污污下载

您好,歡迎來到包裝印刷網(wǎng)!

當(dāng)前位置: 首頁(yè) > 新聞資訊  > 技術(shù)文章 > 印刷設(shè)計(jì)

從數(shù)據(jù)餅圖制作看CorelDraw的Script用法

2008/10/1 12:18:18 人評(píng)論

 CD在以前的版本(版本6以前)中是帶有表格功能的,叫CorelChart,支持的格式遠(yuǎn)比現(xiàn)在的AI CS和FH MX要多,我記憶中共有十三種之多,只是不支持中文,真的需要中文只能先做好表格后再將問題替換掉。現(xiàn)在的CD沒有工具直接生成表格了,所以不少人覺得 CD沒有辦法精確生成表格比例圖了。然而,有一點(diǎn)是大家忽略的地方,CD是一個(gè)充分考慮端口開放的軟件(這一點(diǎn)其它軟件都很難做到),我們可以通過這個(gè)特性來做出自己的算法,以CD能接受的方式將數(shù)據(jù)傳遞過去。

  我以下就以精確比例餅圖做為例子,對(duì)CD的另一種使用方法——Action Script做以最初步的窺探。

  這個(gè)樣例的數(shù)據(jù)如下:


  

  對(duì)于矢量軟件來說,一個(gè)矢量圖形必然有一段與之對(duì)應(yīng)的、唯一的描述,這些描述就是軟件執(zhí)行計(jì)算所用到的公式中必不可少的參數(shù)。在用戶使用矢量軟件的工具繪制或更改一個(gè)圖形的時(shí)候,其實(shí)就是在更改這些數(shù)。——如果用戶使用的矢量軟件提供可視化數(shù)值功能的話,在你繪圖或更改圖形的過程中你會(huì)看到這些參數(shù)的數(shù)值會(huì)根據(jù)你的光標(biāo)操作而改變,如:

  

 

  

  在這一點(diǎn)上,使用什么矢量軟件并無差別。

  需要有Excel一樣的輸入界面——這么個(gè)界面就是所謂的“人機(jī)對(duì)話”。之所以要有人機(jī)對(duì)話,因?yàn)槿瞬欢畽C(jī)器的語(yǔ)言,機(jī)器不懂人的語(yǔ)言。所以繪圖軟件就設(shè)立了很多可視性的界面。隱藏在“人機(jī)對(duì)話”后面的就是機(jī)器聽得懂的語(yǔ)言。
  CD之所以說它端口開放,因?yàn)樗暮瘮?shù)是開放的,遵循VB的格式。也因?yàn)樗膮?shù)是開放的,是一個(gè)支持VB格式表達(dá)式的變量。換句話說,只要是VB支持的計(jì)算方式,CD就支持——這就包括了VB的系統(tǒng)函數(shù)、自定義函數(shù)、數(shù)組等等?! ?BR>

  

  比較成熟的矢量軟件數(shù)值輸入框的數(shù)值都接受簡(jiǎn)單的運(yùn)算公式例如:
  3+2、20/5........
  FH和AI都支持。
  但是CD的數(shù)值支持更多,你可以在CD的輸入框中輸入具有優(yōu)先運(yùn)算的表達(dá)式,CD就能按你的意思計(jì)算出正確的數(shù)值,如:
  (50+20+10+5+2)/360*50
  但你在FH和AI中,你做不到。CD甚至還直接支持sin、tag等系統(tǒng)定義的數(shù)學(xué)函數(shù)。感興趣的不妨一試。只是CD的數(shù)據(jù)輸入框太小,無法看完輸入的字符,得比較小心操作,以免誤留殘余字符導(dǎo)致計(jì)算出的值并非你想要的數(shù)值而已。
  在前面我說到CD支持運(yùn)算公式例如——50/(50+20+10+5+2)*360。這個(gè)公式就是餅圖中計(jì)算數(shù)據(jù)比例的公式,計(jì)算出的值就是qin走在街頭15-20歲PLMM回頭率(為了滿足Qin的奢望,呵呵,把年齡段給放寬了),這是很簡(jiǎn)單的數(shù)學(xué)計(jì)算,就此帶過。
  既然懂得計(jì)算公式了就可以開始繪圖了。
  
  先將公式打好。Crtl+C拷貝。

    

  繪制一正圓,快速拷貝多四份,然后居中對(duì)齊。
  
  

 

  

  在“扇形終點(diǎn)”中輸入“0”,在“扇形起點(diǎn)”輸入“50/”,然后Crtl+V,實(shí)際上“扇形起點(diǎn)”中的輸入值為“50/(50+20+10+5+2)*360”。然后你得到下面圖形:

 

   

        第二個(gè)物體的終點(diǎn)為第一個(gè)物體的起點(diǎn),所以是“50/(50+20+10+5+2)*360”,起點(diǎn)是“(20+50)/(50+20+10+5+2)*360”,依此類推,就得到了所有的物體。

      

  這是一個(gè)很笨的方法,每次都直接手動(dòng)告訴CD要算什么。但這只是開始。

  我在這個(gè)例子中頻繁的使用計(jì)算公式,這個(gè)繪圖的過程是完全可以以Script的形式寫出來的,因?yàn)镃D9的Script是純文本格式的。

  一個(gè)餅圖的數(shù)據(jù)如下:
  X1,X2,X3......Xn
  比例數(shù)據(jù)計(jì)算公式為:
  0/(X1+X2+X3+......+Xn)*360
  X1/(X1+X2+X3+......+Xn)*360
  (X1+X2)/(X1+X2+X3+......+Xn)*360
  (X1+X2+X3)/(X1+X2+X3+......+Xn)*360
  .......
  (X1+X2+X3+......+Xn)/(X1+X2+X3+......+Xn)*360
  對(duì)于圓來說0度的位置和360度的位置是相等的。所以在這個(gè)公式不會(huì)存在誤差問題。

  在這里我對(duì)“函數(shù)”說明一下。
  Script中的函數(shù)不僅僅是數(shù)學(xué)意義上的函數(shù)。數(shù)學(xué)函數(shù)只是當(dāng)中的一種。Script中的函數(shù)實(shí)際上是一組命令,包括邏輯判斷、循環(huán)指令、運(yùn)算公式......等等等等。一個(gè)完整、通用的Script是允許用戶更改參數(shù)數(shù)值的,然后Script可以根據(jù)用戶的數(shù)值做以判斷,并最終算出用戶想得到的結(jié)果。

     

  在上面的例子中可以看到該腳本的關(guān)鍵處在于后半部分。這部分才是核心,實(shí)現(xiàn)條件判斷,并根據(jù)值的不同執(zhí)行不同命令。

  該腳本中調(diào)用到的命令有:
  .CreateRectangle .SetCornerRoundess .ApplyOutline
  這三個(gè)命令就是CD內(nèi)核執(zhí)行繪圖和修改的命令函數(shù),分別功能為:建立方形、設(shè)置物體圓角值、應(yīng)用外框線(從字面上都能讀出來,命名相當(dāng)直觀)。由于在. CreateRectangle函數(shù)中的參數(shù)嵌有計(jì)算公式,而該公式中包含有能讓用戶設(shè)置數(shù)值的變量,因而就能繪制出用戶指定數(shù)據(jù)的方形。

  這個(gè)腳本是一個(gè)相當(dāng)簡(jiǎn)單的例子,可以做為學(xué)習(xí)CD script的入門教程。
  有關(guān)CD內(nèi)核執(zhí)行繪圖和修改的命令函數(shù),可以參閱CD自帶的函數(shù)說明,該文件默認(rèn)是C:\Program Files\Corel\Graphics9\Programs\Draw_scr.hlp,根據(jù)你安裝路徑找到對(duì)應(yīng)目錄即可找到。

  CD的Script功能強(qiáng)大之處不在錄制,在于編寫。

  如果不能用得到CD就沒必要花這么大的工夫預(yù)留這個(gè)接口了,這會(huì)增加CD的開發(fā)難度——在編寫每一功能的時(shí)候都要考慮讓用戶可以通過Script來直接調(diào)用它。完全不考慮這點(diǎn)要簡(jiǎn)單得多。

  貼近實(shí)際應(yīng)用的例子都不會(huì)簡(jiǎn)單。因?yàn)樵椒奖愕墓δ芫托枰蕉嗟目紤],用Script寫出來就會(huì)結(jié)構(gòu)更復(fù)雜、調(diào)用的命令函數(shù)更多。這種例子不適宜當(dāng)為入門教程。即便舉出來也會(huì)讓入門者摸不著頭腦,甚至?xí)樛撕芏嗳恕K院芏嗑幊痰慕坛潭紡?#8220;Hello world”教起,出個(gè)對(duì)話框說“Hello world”有什么實(shí)際用途?在實(shí)際的應(yīng)用中我沒見過有誰(shuí)這么做過。但它是入門教程,它教你怎么控制一個(gè)對(duì)話框。——這是個(gè)學(xué)習(xí)方法的問題。在 Script的使用中思維是很重要的,如果你不能做到分析、歸類和推測(cè)的應(yīng)用,就無法觸類旁通,那么你就想不出來通過Script來組合CD的命令和物體能做些什么。

  通過Script來組合CD的命令和物體能做些什么?——這是門檻較低的Scrip使用方式。高級(jí)的Scrip使用方式是自己編寫自己的命令函數(shù),例如我前面提到的3d濾鏡,用戶只需要輸入數(shù)值就在后臺(tái)調(diào)用自己定義的命令函數(shù)來計(jì)算并生成3D物體,然后將物體數(shù)據(jù)折算成矢量圖形的節(jié)點(diǎn)數(shù)據(jù),這一數(shù)據(jù)CD能支持,因而CD就能將之繪制在屏幕上。然而這種方法門檻很高,對(duì)于大多數(shù)人來說可望不可及。所以我對(duì)這種使用方法稍帶而過,而把“通過 Script來組合CD的命令和物體能做些什么”做為重點(diǎn)。
  組合CD命令能做什么?——用戶在使用CD 繪圖時(shí)都在使用CD的命令。你如果不能總結(jié)出來平時(shí)繪圖的過程(某些命令+某些命令=某種效果,例如AI的陰影濾鏡,其實(shí)就是拷貝多一個(gè)物體+更改顏色+ 調(diào)換圖層+稍微移位。而拷貝、更換顏色、換圖層順序、移位都是Script能調(diào)用的命令函數(shù)。依此類推。),那么誰(shuí)都幫不了了。

相關(guān)資訊

  • 印刷廠拼版印刷對(duì)印版方向有哪些要求

    拼版是指將要印刷的頁(yè)面按其折頁(yè)方式按頁(yè)碼順序排列在一起,其大小由印刷幅面及印刷紙張的大小來定。拼版可分為:零件的拼版和書刊的拼版兩種。那印刷廠拼版印刷對(duì)印版方向有哪些要求呢?   一、拼版印刷的方向要求 不論是用單版還是用多版印刷,首先應(yīng)明確拼色圖案…

    2025/4/27 7:28:19
  • 提升印刷效率與品質(zhì),先從自動(dòng)掛版開始

    要實(shí)現(xiàn)快速換單,先從自動(dòng)掛版開始  掛版是印刷換單過程中必不可少的環(huán)節(jié)。有些人認(rèn)為掛版是一件簡(jiǎn)單的事,殊不知就這么一件“小事”,如果不注意細(xì)節(jié)也是會(huì)對(duì)印刷效率和品質(zhì)造成很大影響的。如今,部分大型紙箱廠已開始使用智能化自動(dòng)掛版設(shè)備以提升印刷效率和品質(zhì)。 …

    2025/4/26 8:02:30
  • 印刷設(shè)計(jì)印版必懂知識(shí)——翻版與拼版

    本文主要為大家講解印刷翻版和印刷拼版相關(guān)知識(shí)點(diǎn)希望大家能有所收獲?! ∫?、印刷翻版類型  大多設(shè)計(jì)作品都需雙面印刷。一張紙印完一面還得印另一面,就需要翻面,在印刷上就要做翻版。印刷中根據(jù)印版內(nèi)容和翻版方向,將翻版分為3種?! ?、正反版印刷  正反版印刷…

    2025/3/30 10:15:47
  • 企業(yè)負(fù)責(zé)人為消防代言,產(chǎn)品包裝裹“新衣”

    食品外包裝印有消防宣傳標(biāo)語(yǔ),負(fù)責(zé)人成為消防公益代言人。近日,在婁底新化縣,這一創(chuàng)新舉措引發(fā)市民點(diǎn)贊。新化縣消防大隊(duì)負(fù)責(zé)人表示:“今年4月份以來,新化縣開展了‘全民消防我行動(dòng)’大型公益活動(dòng),湖南前進(jìn)食品股份有限公司董事長(zhǎng)羅教孟成為消防公益代言人,首批具有消防宣…

    2018/7/10 12:21:45

共有 網(wǎng)友評(píng)論