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. android.os.Parcel.readByteArray NullPointerException

    报错信息: E/AndroidRuntime( 1626): java.lang.NullPointerException E/AndroidRuntime( 1626): at android.os ...

  2. 简易用户管理系统-前端实现(表单&提交请求&button$基础)

    laravel框架编写简易用户管理系统,前端Layui框架. 1.动态生成列表项 实现效果 PHP后台传入用户对象($users). 前端页面接收数据传入table. 逻辑就是在生成表格时,遍历传来的 ...

  3. ORACLE ORA-1652的解决方法

    原创 Oracle 作者:wzq609 时间:2015-02-04 22:11:07 17183 0 前言:在检查数据库的alert日志,发现数据库报了ORA-1652: unable to exte ...

  4. nfs共享文件系统

    NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别的档 ...

  5. SpringBoot与SpringMVC的区别是什么?

    感谢原文出处:https://www.cnblogs.com/javazhiyin/ Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spr ...

  6. 浅谈[].slice.call(arguments, 1)

    今天在跟踪调试项目的代码时,发现在一个function中用到了这么一段[].slice.call(arguments, 1) 的代码.心中便起了疑惑,对于slice 和 call 的方法,倒是不怎么陌 ...

  7. Jenkins显示reportng测试报告

    在搭建Jenkins自动化测试平台后,我们点击立即构建就可以运行测试用例了,但没有地方查看测试报告,现在写这篇博客总结怎么在Jenkins显示reportng测试报告. 在maven项目配置repor ...

  8. day56_9_20orm中的关键字段,orm查询13方法整合,查询优化和事务。

    一.常用字段. 在orm中有一些字段是常用字段: 1.AutoField 这个字段是自增的,必须填入参数primary_key=True,也就是说这个字段是表的主键,如果表类中没有自增列,就会自动创建 ...

  9. es6 的类 class

    1.ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板.通过class关键字,可以定义类. 2. //定义类 class Point { constructor(x, y ...

  10. 详解C++ STL set 容器

    详解C++ STL set 容器 本篇随笔简单介绍一下\(C++STL\)中\(set\)容器的使用方法及常见使用技巧. set容器的概念和性质 \(set\)在英文中的意义是:集合.\(set\)容 ...