新手入门必看:VectorDraw 常见问题整理大全(二)
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字体时的顺序是:
- 放置/注册VectorDraw library的文件夹。
- 放置图形的文件夹。
- 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 常见问题整理大全(二)的更多相关文章
- Liunx新手入门必看
安装CentOS(Linux的一个常用发行版本,互联网公司经常使用这个发行版)用到的软件: VMware_workstation_full_12.5.2.exe 虚拟机软件,虚拟机由这个软件安装.管理 ...
- 新手入门必看:VectorDraw 常见问题整理大全(一)
VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库.有了VDF提供的功能,您可以轻松地创建.编辑.管理.输出.输入和打印2D和3D图形文件.该库 ...
- 1.16 Linux该如何学习(新手入门必看)
本节旨在介绍对于初学者如何学习 Linux 的建议.如果你已经确定对 Linux 产生了兴趣,那么接下来我们介绍一下学习 Linux 的方法. 如何去学习 学习大多类似庖丁解牛,对事物的认识一般都是由 ...
- vue入门笔记(新手入门必看)
一.什么是Vue? 1. vue为我们提供了构建用户界面的渐进式框架,让我们不再去操作dom元素,直接对数据进行操作,让程序员不再浪费时间和精力在操作dom元素上,解放了双手,程序员只需要关心业 ...
- Node笔记(新手入门必看)
. 初识Node.js 1.1 Node.js是什么 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. ...
- Django新手入门必看
pip install django==2.1.7 (现在Django3.0出来,推荐大家可以使用一下Django3.0) pip list查看
- Java编程学习知识点分享 入门必看
Java编程学习知识点分享 入门必看 阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软 ...
- STM32环境搭建/学习观点/自学方法 入门必看
文章转自armfly开发板V4软件开发手册,分享学习~ 今天有幸看到armfly的开发板软件开发手册,开头的基础知识,真的很有用,还好有看到,一切都不迟,感悟很多,摘抄部分,学习分享~ 关于开发环境的 ...
- PHP高级程序员必看知识点:目录大全(不定期更新)
面试题系列: 分享一波腾讯PHP面试题 2019年PHP最新面试题(含答案) Redis 高级面试题 学会这些还怕进不了大厂? 阿里面试官三年经验PHP程序员知识点汇总,学会你就是下一个阿里人! ph ...
随机推荐
- 024.微服务架构之服务注册与发现(kubernetes / SpringCloud)
微服务 微服务是一种架构模式,一种分布式的架构风格. 顾名思义,micro service,将一个庞大的单体应用拆分成若干个“微小”的服务,服务间通过进程通讯完成原本在单体应用中的调用. 其中必要的六 ...
- 实时数据推送webSocket
实时数据推送 在Web或移动项目中,服务器向客户端实时推送消息是一种常见的业务需求. 实现方式 Polling:轮询(俗称“拉”),即定期重新请求数据. Long-Polling:长轮询,是 Poll ...
- 苏州市java岗位的薪资状况(1)
8月份已经正式离职,这两个月主要在做新书校对工作.9月份陆续投了几份简历,参加了两次半面试,第一次是家做办公自动化的公司,开的薪水和招聘信息严重不符,感觉实在是在浪费时间,你说你给不了那么多为什还往上 ...
- 【PAT甲级】1008 Elevator (20分)
1008 Elevator 题目: The highest building in our city has only one elevator. A request list is made up ...
- 05webpack-webpack-dev-server时时跟新-第2种方式
<!--14 第一种方式 自动打开浏览器 端口号 指定托管的跟目录 启动热刷新 这种是在webpack.json中去配置的 直接在package中 写 将“script”:{ "dev ...
- 【bzoj4559】[JLoi2016]成绩比较(dp+拉格朗日插值)
bzoj 题意: 有\(n\)位同学,\(m\)门课. 一位同学在第\(i\)门课上面获得的分数上限为\(u_i\). 定义同学\(A\)碾压同学\(B\)为每一课\(A\)同学的成绩都不低于\(B\ ...
- 第50 课C++对象模型分析——成员函数(上)
类中的成员函数位于代码段中调用成员函数时对象地址作为参数隐式传递成员函数通过对象地址访问成员变量C++语法规则隐藏了对象地址的传递过程 #include<iostream> #includ ...
- c# 第31节 构造函数与析构函数、new关键字作用
本节内容: 1:构造和析构的简介 2:构造函数的定义和使用 3:new关键字的作用 4:析构函数的定义和使用 1:构造和析构的简介 2:构造函数的定义和使用 构造函数: 当实例化的一个对象,就默认执行 ...
- c# 第21节 方法声明和调用
本节内容: 1:为什么要有方法 2:方法的声明及使用 3:方法params 传入接收数组 4:值传递和引用传递 5:输出参数out 1:为什么要有方法 2:方法的声明及使用 声明实例: 3:方法par ...
- python 读写.tar.gz文件 -- UnicodeDecodeError
在用pip install 安装库的时候,偶尔会出现编码错误(如:UnicodeDecodeError: 'gbk' codec can't decode byte),对此我们可先将包下载下来(一般为 ...