新手入門必看:VectorDraw 常見問題整理大全(二)
VectorDraw Developer Framework(VDF)是一個用于應(yīng)用程序可視化的圖形引擎庫。有了VDF提供的功能,您可以輕松地創(chuàng)建、編輯、管理、輸出、輸入和打印2D和3D圖形文件。該庫還支持許多矢量和柵格輸入和輸出格式,包括本地PDF和SVG導(dǎo)出。
【VectorDraw Developer Framework最新版下載】
VectorDraw web library (javascript)是一個矢量圖形庫。VectorDraw web library (javascript)不僅能打開CAD圖紙,而且能顯示任何支持HTML5標(biāo)準(zhǔn)平臺上的通用矢量對象,如Windows,安卓,iOS和Linux。無需任何安裝,VectorDraw web library (javascript)就可以運(yùn)行在任何支持canvas標(biāo)簽和Javascript的主流瀏覽器(Chrome, Firefox, Safari, Opera, Dolphin, Boat等等)中。
【VectorDraw web library (javascript)最新版下載】
一. 覆蓋ActionDraw事件
問:如何覆蓋ActionDraw事件?
答:請檢查我們設(shè)置附帶的C#和VB .NET示例(VDFramedControl Samples)。
二. 文本,字體和SHX字體
問:文本,字體和SHX字體?
答:字體和SHX字體的一般概念:VectorDraw libraries使用兩種字體來顯示文本:TTF和SHX字體。一些圖形已經(jīng)創(chuàng)建,一些文本對象(vdText對象)使用一些Textstyles(vdTextStyle對象),它使用SHX字體來顯示文本特征。這些SHX字體不像每個系統(tǒng)都有的TTF字體(系統(tǒng)字體)(如Arial TTF字體)。所以SHX字體必須與圖紙一起分發(fā)。
因此,在我的機(jī)器中,我可以創(chuàng)建一個包含一些使用MySHXfont.SHX字體文件的文本的圖形。如果我分發(fā)這個圖紙,我也應(yīng)該分發(fā)MySHXfont.SHX字體文件,以使圖形顯示“正確”(正如我設(shè)計的那樣)。
VDF在哪里找到SHX字體文件:
您應(yīng)該記住的另一件事是SHX字體是“路徑”相對的。SHX字體不是TTF的“系統(tǒng)”字體,因此為了加載它(VectorDraw或其他程序),必須指定SHX字體的路徑。在VectorDraw中,這是通過SupportPath屬性完成的(有關(guān)更多信息,請參閱我們的幫助文檔)。
SupportPath屬性指定在使用插圖,文件打開,圖像附加,外部參照,字體文件(SHX)和vdUtility的FindFile方法等圖形方法時,VectorDraw搜索文件的目錄(路徑)。SupportPath可以用分號< ; >分隔路徑,例如:c:/;c:/temp;c:/Program Files/VectorDraw;
VectorDraw搜索SHX字體時的順序是:
- 放置/注冊VectorDraw library的文件夾。
- 放置圖形的文件夾。
- SupportPath屬性中的路徑。
總結(jié):建議在應(yīng)用程序安裝期間創(chuàng)建一個路徑,如%Program Files%\ MyApplicationFolder \ SHXFonts,并放置(分發(fā))應(yīng)用程序/圖紙使用的SHX字體。還要在應(yīng)用程序的幫助中說明用戶應(yīng)該復(fù)制他在此路徑中使用的SHX字體文件,并且您的應(yīng)用程序應(yīng)在SupportPath屬性中具有上述路徑。
三. 將繪圖導(dǎo)出為BMP
問:找不到任何可以告訴我如何將圖紙導(dǎo)出到BMP的案例。我找到了一個方法rendertographics但不知道如何使用它。
答:在一個新項(xiàng)目中添加一個vdFramedControl,一個圖片框(這是可選的)和一個按鈕和一個代碼,如:
VdFramedControl1.BaseControl.ActiveDocument.Open("C:\temp\EXAMPLE.dxf") VdFramedControl1.BaseControl.ActiveDocument.CommandAction.CmdSelect("ALL") Dim selset As VectorDraw.Professional.vdCollections.vdSelection selset = VdFramedControl1.BaseControl.ActiveDocument.Selections.FindName("VDRAW_PREVIOUS_SELSET") Dim a As VectorDraw.Geometry.Box| a = selset.GetBoundingBox PictureBox1.Width = 200 ' exported image will be 200x200 pixels PictureBox1.Height = 200 Dim img1 As Image img1 = New Bitmap(PictureBox1.Width, PictureBox1.Height) Dim graph As System.Drawing.Graphics graph = Graphics.FromImage(img1) a.TransformBy(VdFramedControl1.BaseControl.ActiveDocument.ActiveLayOut.World2ViewMatrix) VdFramedControl1.BaseControl.ActiveDocument.ActiveLayOut.RenderToGraphics(graph, a, img1.Width, img1.Height) img1.Save("C:\_temp\aaaaa.bmp", System.Drawing.Imaging.ImageFormat.Bmp) 'save to disk PictureBox1.Image = img1 ' show in form's Picture box
四. 資源全球化
問:在6005中添加資源全球化。
答:版本6 .NET組件可以使用任何語言進(jìn)行本地化?;旧?,本地化的單詞是提示消息,網(wǎng)格屬性名稱以及表單。 如果客戶想要本地化他的VectorDraw組件可以與我們聯(lián)系,我們將提供以下內(nèi)容:
1)vdRes.txt
是一個英文文本文檔,包含所有提示消息以及屬性列表中顯示的所有屬性名稱。在那里,他可以用任何語言翻譯這些消息。
2)vdFormsRes.dll,vdFormsRes項(xiàng)目
vdFormsRes是一個包含所有形式的vectordraw的項(xiàng)目,也是英文版。在此項(xiàng)目中,所有標(biāo)簽和按鈕都可以進(jìn)行本地化。也有人可以改變表格的外觀。
對于vdRay中的全球化
我們將提供生成vdRayResources.dll的vdRayResources項(xiàng)目??蛻艨梢愿谋韱沃械淖址?gòu)建它(在發(fā)布時不調(diào)試)。生成的vdRayResources.dll文件應(yīng)該復(fù)制到與vdRay.dll文件相同的文件夾中,或者復(fù)制到可執(zhí)行文件的同一文件夾中(由于Dev機(jī)器中的vdRay.dll在GAC中,因此在Dev。機(jī)器中推薦)。然后在使用vdRay組件的項(xiàng)目中,在應(yīng)用程序的Form_Load中添加以下代碼行:vdRay.vdRayGlobals.ResourcesDllName =“vdRayResources.dll”;
限制:
1.屬性網(wǎng)格中的常量不能更改(例如,PlFlagOPEN,折線的標(biāo)志屬性的PlFlagCLOSE常量無法定位)。
2.您無法在vdFormsRes上添加新按鈕,標(biāo)簽。
添加了新方法來獲取/設(shè)置commands.txt,menu.txt,vdres.txt的資源目錄
VectorDraw.Serialize.Activator.GetResourcesDirectory
您可以將資源目錄設(shè)置如下
VectorDraw.Serialize.Activator.SetResourcesDirectory(@"C:\Temp\");
VectorDraw.Serialize.GlobalizedDictionary.Dictionary = new VectorDraw.Serialize.GlobalizedDictionary (@"C:\Temp\vdres.txt");
此目錄由應(yīng)用程序設(shè)置(加載應(yīng)用程序時),組件在此目錄中搜索資源文件Commands.txt,Menu.txt vdres.txt。
此外在vdres.txt中,如果第一個名字表示屬性名稱,所述第二值是“ - ”,則屬性從屬性網(wǎng)格隱藏。如果你想使用vdFormsRes.dll來加載你自己的表單,你應(yīng)該設(shè)置這個dll所在的目錄在GlobalizedFormsDirectory的vdres.txt中,在文本文檔的開頭有完整的路徑和dll名稱。設(shè)置目錄如下:GlobalizedFormsDirectory ^ C:\ TEMP \ vdFormsRes.dll