?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

www9778con:從標準數據餅圖初步看CorelDraw的另一種用法

?

[導讀]CD在曩昔的版本(版本6曩昔)中是帶有表格功能的,叫CorelChart,支持的款式遠比現在的AI CS和FH MX要多,我影象中共有十三種之多,只是不支持中文,真的必要中文只能先做好表格后再將問題調換掉落?,F在的CD沒有對象直接天生表格了,以是不少人感覺CD沒有法子正確天生表格比例圖了。然而,有一點是大年夜家輕忽的地方,CD是一個充

CD在曩昔的版本(版本6曩昔)中是帶有表格功能的,叫CorelChart,支持的款式遠比現在的AI CS和FH MX要多,我影象中共有十三種之多,只是不支持中文,真的必要中文只能先做好表格后再將問題調換掉落?,F在的CD沒有對象直接天生表格了,以是不少人感覺CD沒有法子正確天生表格比例圖了。然而,有一點是大年夜家輕忽的地www9778con方,CD是一個充分斟酌端口開放的軟件(這一點其它軟件都很難做到),我們可以經由過程這個特點來做出自己的算法,以CD能吸收的要領將數據通報以前。

我以下就以正確比例餅圖做為例子,對CD的另一種應用措施——Action Script做以最初步的窺測。

這個樣例的數據如下:

對付矢量軟件來說,一個矢量圖形一定有一段與之對應的、獨一的描述,這些描述便是軟件履行謀略所用到的公式中必弗成少的參數。在用戶應用矢量軟件的對象繪制或變動一個圖形的時刻,著實便是在變動這些數?!偃缬脩魬玫氖噶寇浖┙o可視化數值功能的話,在你繪圖或變動圖形的歷程中你會看到這些參數的數值會根據你的光標操作而改變,如:

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

必要有Excel一樣的輸入界面——這么個界面便是所謂的“人機對話”。之以是要有人機對話,由于人不懂機械的說話,機械不懂人的說話。以是繪圖軟件就設立了很多可視性的界面。暗藏在“人機對話”后面的便是機械聽得懂的說話。

CD之以是說它端口開放,由于它的函數是開放的,遵照VB的款式。也由于它的參數是開放的,是一個支持VB款式表達式的變量。換句話說,只如果VB支持的謀略要領,CD就支持——這就包括了VB的系統函數、自定義函數、數組等等。

對照成熟的矢量軟件數值輸入框的數值都吸收簡單的運算公式例如:

3+2、20/5........

FH和AI都支持。

然則CD的數值支持更多,你可以在CD的輸入框中輸入具有優先運算的表達式,CD就能按你的意思謀略出精確的數值,如:

(50+20+10+5+2)/360*50

但你在FH和AI中,你做不到。CD以致還直接支持sin、tag等系統定義的數學函數。感興趣的不妨一試。只是CD的數據輸入框太小,無法看完輸入的字符,得對照小心操作,以免誤留殘存字符導致謀略出的值并非你想要的數值而已。

在前面我說到CD支持運算公式例如——50/(50+20+10+5+2)*360。這個公式便是餅圖中謀略數據比例的公式,謀略出的值便是qin走在街頭15-20歲PLMM轉頭率(為了滿意Qin的奢望,呵呵,把年歲段給放寬了),這是很簡單的數學謀略,就此帶過。

既然相識謀略公式了就可以開始繪圖了。

先將公式打好。Crtl+C拷貝。

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

在“扇形終點”中輸入“0”,在“扇形動身點”輸入“50/”,然后Crtl+V,實際上“扇形動身點”中www9778con的輸入值為“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是純文本款式的。

一個餅圖的數據如下:

X1,X2,X3......Xn

比例數據謀略公式為:

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度的位置是相等的。以是在這個公式不會存在偏差問題。

在這里我www9778con對“函數”闡明一下。

Script中的函數不僅僅是數學意義上的函數。數學函數只是傍邊的一種。Script中的函數實際上是一組敕www9778con令,包括邏輯判斷、輪回指令、運算公式......等等等等。一個完備、通用的Script是容許用戶變動參數數值的,然后Script可以根據用戶的數值做以判斷,并終極算出用戶想獲得的結果。

在上面的例子中可以看到該腳本的關鍵處在于后半部分。這部分才是核心,實現前提判斷,并根據值的不合履行不合敕令。

該腳本中調用到的敕令有:

.CreateRectangle .SetCornerRoundess .ApplyOutline

這三個敕令便是CD內核履行繪圖和改動的敕令函數,分www9778con手功能為:建立方形、設置物體圓角值、利用外框線(從字面上都能讀出來,命名相稱直不雅)。因為在.CreateRectangle函數中的參數嵌有謀略公式,而該公式中包孕有能讓用戶設置數值的變量,因而就能繪制出用戶指定命據的方形。

這個腳本是一個相稱簡單的例子,可以做為進修CD script的入門教程。

有關CD內核履行繪圖和改動的敕令函數,可以參閱CD自帶的函數闡明,該文件默認是C:\Program Files\Corel\Graphics9\Programs\Draw_scr.hlp,根據你安裝路徑找到對應目錄即可找到。

CD的Script功能強大年夜之處不在錄制,在于編寫。

假如不能用獲得CD就沒需要花這么大年夜的工夫預留這個接口了,這會增添CD的開起事度——在編寫每一功能的時刻都要斟酌讓用戶可以經由過程Script來直接調用它。完全不斟酌這點要簡單得多。

切近實際利用的例子都不會簡單。由于越方便的功能就必要越多的斟酌,用Script寫出來就會布局更繁雜、調用的敕令函數更多。這種例子不合適當為入門教程。即便舉出來也會讓入門者摸不著頭腦,以致會嚇退很多人。以是很多編程的教程都從“Hello world”教起,出個對話框說“Hello world”有什么實際用途?在實際的利用中我沒見過有誰這么做過。但它是入門教程,它教你怎么節制一個對話框?!@是個進修措施的問題。在Script的應用中思維是很緊張的,假如你不能做到闡發、歸類和推想的利用,就無法聞一知十,那么你就想不出來經由過程Script來組合CD的敕令和物體能做些什么。

經由過程Script來組合CD的敕令和物體能做些什么?——這是門檻較低的Scrip應用要領。高檔的Scrip應用要領是自己編寫自己的敕令函數,例如我前面提到的3d濾鏡,用戶只必要輸入數值就在后臺調用自己定義的敕令函數來謀略并天生3D物體,然后將物體數據折算成矢量圖形的節點數據,這一數據CD能支持,因而CD就能將之繪制在屏幕上。然而這種措施門檻很高,對付大年夜多半人來說可望弗成及。以是我對這種應用措施稍帶而過,而把“經由過程Script來組合CD的敕令和物體能做些什么”做為重點。

組合CD敕令能做什么?——用戶在應用CD 繪圖時都在應用CD的敕令。你假如不能總結出來日常平凡繪圖的歷程(某些敕令+某些敕令=某種效果,例如AI的陰影濾鏡,著實便是拷貝多一個物體+變動顏色+更換圖層+輕細移位。而拷貝、替換顏色、換圖層順序、移位都是Script能調用的敕令函數。依此類推。),那么誰都幫不明晰。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

快三平台开户