新手入門必看:VectorDraw 常見問題整理大全(二)

VectorDraw Developer Framework(VDF)是一個用於應用程序可視化的圖形引擎庫。有了VDF提供的功能,您能夠輕鬆地建立、編輯、管理、輸出、輸入和打印2D和3D圖形文件。該庫還支持許多矢量和柵格輸入和輸出格式,包括本地PDF和SVG導出。javascript

【VectorDraw Developer Framework最新版下載可登陸慧都網進行免費下載】java

VectorDraw web library (javascript)是一個矢量圖形庫。VectorDraw web library (javascript)不只能打開CAD圖紙,並且能顯示任何支持HTML5標準平臺上的通用矢量對象,如Windows,安卓,iOS和Linux。無需任何安裝,VectorDraw web library (javascript)就能夠運行在任何支持canvas標籤和Javascript的主流瀏覽器(Chrome, Firefox, Safari, Opera, Dolphin, Boat等等)中。web

VectorDraw web library (javascript)最新版下載可登陸慧都網進行免費下載canvas

一. 文本,字體和SHX字體瀏覽器

問:文本,字體和SHX字體?字體

答:字體和SHX字體的通常概念:VectorDraw libraries使用兩種字體來顯示文本:TTF和SHX字體。一些圖形已經建立,一些文本對象(vdText對象)使用一些Textstyles(vdTextStyle對象),它使用SHX字體來顯示文本特徵。這些SHX字體不像每一個系統都有的TTF字體(系統字體)(如Arial TTF字體)。因此SHX字體必須與圖紙一塊兒分發。spa

所以,在個人機器中,我能夠建立一個包含一些使用MySHXfont.SHX字體文件的文本的圖形。若是我分發這個圖紙,我也應該分發MySHXfont.SHX字體文件,以使圖形顯示「正確」(正如我設計的那樣)。翻譯

VDF在哪裏找到SHX字體文件:設計

您應該記住的另外一件事是SHX字體是「路徑」相對的。SHX字體不是TTF的「系統」字體,所以爲了加載它(VectorDraw或其餘程序),必須指定SHX字體的路徑。在VectorDraw中,這是經過SupportPath屬性完成的(有關更多信息,請參閱咱們的幫助文檔)。調試

SupportPath屬性指定在使用插圖,文件打開,圖像附加,外部參照,字體文件(SHX)和vdUtility的FindFile方法等圖形方法時,VectorDraw搜索文件的目錄(路徑)。SupportPath能夠用分號< ; >分隔路徑,例如:c:/;c:/temp;c:/Program Files/VectorDraw;

VectorDraw搜索SHX字體時的順序是:

  1. 放置/註冊VectorDraw library的文件夾。
  2. 放置圖形的文件夾。
  3. SupportPath屬性中的路徑。

總結:建議在應用程序安裝期間建立一個路徑,如%Program Files%\ MyApplicationFolder \ SHXFonts,並放置(分發)應用程序/圖紙使用的SHX字體。還要在應用程序的幫助中說明用戶應該複製他在此路徑中使用的SHX字體文件,而且您的應用程序應在SupportPath屬性中具備上述路徑。

二. 將繪圖導出爲BMP

問:找不到任何能夠告訴我如何將圖紙導出到BMP的案例。我找到了一個方法rendertographics但不知道如何使用它。

答:在一個新項目中添加一個vdFramedControl,一個圖片框(這是可選的)和一個按鈕和一個代碼,如:

 1 VdFramedControl1.BaseControl.ActiveDocument.Open("C:\temp\EXAMPLE.dxf")
 2 VdFramedControl1.BaseControl.ActiveDocument.CommandAction.CmdSelect("ALL")
 3 Dim selset As VectorDraw.Professional.vdCollections.vdSelection
 4 selset = VdFramedControl1.BaseControl.ActiveDocument.Selections.FindName("VDRAW_PREVIOUS_SELSET")
 5 Dim a As VectorDraw.Geometry.Box|
 6 a = selset.GetBoundingBox
 7 PictureBox1.Width = 200 ' exported image will be 200x200 pixels
 8 PictureBox1.Height = 200
 9 Dim img1 As Image
10 img1 = New Bitmap(PictureBox1.Width, PictureBox1.Height)
11 Dim graph As System.Drawing.Graphics
12 graph = Graphics.FromImage(img1)
13 a.TransformBy(VdFramedControl1.BaseControl.ActiveDocument.ActiveLayOut.World2ViewMatrix)
14 VdFramedControl1.BaseControl.ActiveDocument.ActiveLayOut.RenderToGraphics(graph, a, img1.Width, img1.Height)
15 img1.Save("C:\_temp\aaaaa.bmp", System.Drawing.Imaging.ImageFormat.Bmp) 'save to disk
16 PictureBox1.Image = img1 ' show in form's Picture box

三. 資源全球化

問:在6005中添加資源全球化。

答:版本6 .NET組件可使用任何語言進行本地化。基本上,本地化的單詞是提示消息,網格屬性名稱以及表單。 若是客戶想要本地化他的VectorDraw組件能夠與咱們聯繫,咱們將提供如下內容:

1)vdRes.txt

是一個英文文本文檔,包含全部提示消息以及屬性列表中顯示的全部屬性名稱。在那裏,他能夠用任何語言翻譯這些消息。

2)vdFormsRes.dll,vdFormsRes項目

vdFormsRes是一個包含全部形式的vectordraw的項目,也是英文版。在此項目中,全部標籤和按鈕均可以進行本地化。也有人能夠改變表格的外觀。

對於vdRay中的全球化

咱們將提供生成vdRayResources.dll的vdRayResources項目。客戶能夠更改表單中的字符串並構建它(在發佈時不調試)。生成的vdRayResources.dll文件應該複製到與vdRay.dll文件相同的文件夾中,或者複製到可執行文件的同一文件夾中(因爲Dev機器中的vdRay.dll在GAC中,所以在Dev。機器中推薦)。而後在使用vdRay組件的項目中,在應用程序的Form_Load中添加如下代碼行:vdRay.vdRayGlobals.ResourcesDllName =「vdRayResources.dll」;

限制:

1.屬性網格中的常量不能更改(例如,PlFlagOPEN,折線的標誌屬性的PlFlagCLOSE常量沒法定位)。

2.您沒法在vdFormsRes上添加新按鈕,標籤。

添加了新方法來獲取/設置commands.txt,menu.txt,vdres.txt的資源目錄

VectorDraw.Serialize.Activator.GetResourcesDirectory

您能夠將資源目錄設置以下

VectorDraw.Serialize.Activator.SetResourcesDirectory(@"C:\Temp\");

VectorDraw.Serialize.GlobalizedDictionary.Dictionary = new VectorDraw.Serialize.GlobalizedDictionary (@"C:\Temp\vdres.txt");

此目錄由應用程序設置(加載應用程序時),組件在此目錄中搜索資源文件Commands.txt,Menu.txt vdres.txt。

此外在vdres.txt中,若是第一個名字表示屬性名稱,所述第二值是「 - 」,則屬性從屬性網格隱藏。若是你想使用vdFormsRes.dll來加載你本身的表單,你應該設置這個dll所在的目錄在GlobalizedFormsDirectory的vdres.txt中,在文本文檔的開頭有完整的路徑和dll名稱。設置目錄以下:GlobalizedFormsDirectory ^ C:\ TEMP \ vdFormsRes.dll

相關文章
相關標籤/搜索