VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

【VectorDraw Developer Framework最新版下载可登录慧都网进行免费下载】

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等等)中。

VectorDraw web library (javascript)最新版下载可登录慧都网进行免费下载

一. 文本,字体和SHX字体

问:文本,字体和SHX字体?

答:字体和SHX字体的一般概念:VectorDraw libraries使用两种字体来显示文本:TTF和SHX字体。一些图形已经创建,一些文本对象(vdText对象)使用一些Textstyles(vdTextStyle对象),它使用SHX字体来显示文本特征。这些SHX字体不像每个系统都有的TTF字体(系统字体)(如Arial TTF字体)。所以SHX字体必须与图纸一起分发。

因此,在我的机器中,我可以创建一个包含一些使用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,一个图片框(这是可选的)和一个按钮和一个代码,如:

 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 = ' exported image will be 200x200 pixels
PictureBox1.Height =
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组件可以使用任何语言进行本地化。基本上,本地化的单词是提示消息,网格属性名称以及表单。 如果客户想要本地化他的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

新手入门必看:VectorDraw 常见问题整理大全(二)的更多相关文章

  1. Liunx新手入门必看

    安装CentOS(Linux的一个常用发行版本,互联网公司经常使用这个发行版)用到的软件: VMware_workstation_full_12.5.2.exe 虚拟机软件,虚拟机由这个软件安装.管理 ...

  2. 新手入门必看:VectorDraw 常见问题整理大全(一)

    VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库.有了VDF提供的功能,您可以轻松地创建.编辑.管理.输出.输入和打印2D和3D图形文件.该库 ...

  3. 1.16 Linux该如何学习(新手入门必看)

    本节旨在介绍对于初学者如何学习 Linux 的建议.如果你已经确定对 Linux 产生了兴趣,那么接下来我们介绍一下学习 Linux 的方法. 如何去学习 学习大多类似庖丁解牛,对事物的认识一般都是由 ...

  4. vue入门笔记(新手入门必看)

    一.什么是Vue? 1.    vue为我们提供了构建用户界面的渐进式框架,让我们不再去操作dom元素,直接对数据进行操作,让程序员不再浪费时间和精力在操作dom元素上,解放了双手,程序员只需要关心业 ...

  5. Node笔记(新手入门必看)

    . 初识Node.js 1.1 Node.js是什么 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. ...

  6. Django新手入门必看

    pip install django==2.1.7 (现在Django3.0出来,推荐大家可以使用一下Django3.0) pip list查看

  7. Java编程学习知识点分享 入门必看

    Java编程学习知识点分享 入门必看 阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软 ...

  8. STM32环境搭建/学习观点/自学方法 入门必看

    文章转自armfly开发板V4软件开发手册,分享学习~ 今天有幸看到armfly的开发板软件开发手册,开头的基础知识,真的很有用,还好有看到,一切都不迟,感悟很多,摘抄部分,学习分享~ 关于开发环境的 ...

  9. PHP高级程序员必看知识点:目录大全(不定期更新)

    面试题系列: 分享一波腾讯PHP面试题 2019年PHP最新面试题(含答案) Redis 高级面试题 学会这些还怕进不了大厂? 阿里面试官三年经验PHP程序员知识点汇总,学会你就是下一个阿里人! ph ...

随机推荐

  1. gradle 参数配置监听

    说明 gradle提供了对project状态配置监听的接口回调,以方便我们来配置一些Project的配置属性,监听主要分为两大类,一种是通过project进行 回调,一种是通过gradle进行回调,作 ...

  2. [20190823]关于CPU成本计算3.txt

    [20190823]关于CPU成本计算3.txt --//前几天探究CPU cost时遇到的问题,获取行成本时我的测试查询结果出现跳跃,不知道为什么,感觉有点奇怪,分析看看.--//ITPUB原始链接 ...

  3. 获取BOM标准用量

    Select dbms_aw.eval_number(listagg(' 1' ||                                        sys_connect_by_pat ...

  4. Linux 解决Deepin深度系统无法在root用户启动Google Chrome浏览器的问题

    解决Deepin无法在root用户启动Google Chrome浏览器的问题,步骤如下. 前提:如何用root用户登录系统?编辑 vim /etc/lightdm/lightdm.conf , 找到并 ...

  5. Jmeter通过正则表达式获取登录后token

    1.引用名称:即参数化,便于后面调用登录后获取的token 2.正则表达式:"token":"([0-9 a-z -]+?)" 3.模板:设置为 "$ ...

  6. HTML 中img标签不显示

    异常 图片请求响应吗: 403, url响应如下: Request Method: GET Status Code: 403 Forbidden Remote Address: ***.***.**. ...

  7. 【bzoj1941】[Sdoi2010]Hide and Seek(kd-tree)

    bzoj 题意: 给出\(n\)个点,对于每个点,\(d_i\)等于距离其最远的点的距离减去距离最近的点的距离.这里的距离为曼哈顿距离. 求\(min\{d_i\}\). 思路: 考虑直接对每个点暴力 ...

  8. 简述ECMAScript6新增特性

    1.变量 var 可以重复声明.只有函数级的作用域.存在变量提升 let 不能重复声明.有块级作用域.没有变量提升.变量 const 不能重复声明.具有块级作用域.常量 2.箭头函数 a.为了方便而存 ...

  9. 对象锁和class锁

    对象锁:就是这个锁属于这个类的对象实例,可以通过为类中的非静态方法加synchronized关键字 或者使用 synchronized(this) 代码块,为程序加对象锁. Class锁:就是这个锁属 ...

  10. 关于一个.2lf和.2f的战争!(貌似书上错了,静待打脸。)

    在山东理工oj上做题,谈到了输入数据... double i: scanf(“%lf”,&i): 谨记呀,lf时,可以输入任何类型的数据,而.2f,只能输入符合其规格的数据. 再谈输出,dou ...