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

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

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

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

2008/10/1 12:18:18 人評論

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

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

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


  

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

  

 

  

  在這一點上,使用什么矢量軟件并無差別。

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

  

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

    

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

 

  

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

 

   

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

      

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

  我在這個例子中頻繁的使用計算公式,這個繪圖的過程是完全可以以Script的形式寫出來的,因為CD9的Script是純文本格式的。

  一個餅圖的數(shù)據(jù)如下:
  X1,X2,X3......Xn
  比例數(shù)據(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
  對于圓來說0度的位置和360度的位置是相等的。所以在這個公式不會存在誤差問題。

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

     

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

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

  這個腳本是一個相當(dāng)簡單的例子,可以做為學(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ù)你安裝路徑找到對應(yīng)目錄即可找到。

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

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

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

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

相關(guān)資訊

  • 印刷廠拼版印刷對印版方向有哪些要求

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

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

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

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

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

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

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

    2018/7/10 12:21:45

共有 網(wǎng)友評論