首页 > 其他分享 >CorelDraw (CDR) VBA 实现导出贴图坐标

CorelDraw (CDR) VBA 实现导出贴图坐标

时间:2024-03-29 09:00:11浏览次数:21  
标签:贴图 Dim VBA CorelDraw ActiveSelection 坐标 元件

创作上位机动画时, 喜欢用Corel做画面设计,毕竟不管是亚控还是力控还是wincc,画图都太难受了.

贴图动画要贴准的话, 最好用坐标精确对齐.

所以写了这段代码, 用来把Corel中的坐标写入文本文件, 做上位机画面时, 就可以使用这些坐标进行贴图了.

上代码

 1 Sub Macro1()
 2     Dim 元件树(10) As Variant
 3     Dim 元件类型, i, 层数 As Integer
 4     Dim fso, f
 5     Dim filename As String         '声明文件地址
 6     元件类型 = 0
 7     i = 0
 8     Set 元件树(0) = CorelDRAW.Application.ActiveSelection.Shapes.First
 9     MsgBox 计算坐标(元件树(0))
10     元件类型 = CorelDRAW.Application.ActiveSelection.Shapes.First.Type
11     Do While i <= 10
12         i = i + 1
13         If 元件树(i - 1).TreeNode.IsGroupChild Then
14             Set 元件树(i) = 元件树(i - 1).TreeNode.Parent.Shape
15             元件类型 = 元件树(i).Type
16             'MsgBox 元件树(i).Name + " " + Str(元件树(i).Type)
17         Else
18             i = i - 1
19             Exit Do
20         End If
21     Loop
22     层数 = i + 1
23 
24     
25     filename = "C:\Users\DP\Documents\work\CorelOutput\CorelOutput.txt"
26     Set fso = CreateObject("Scripting.FileSystemObject")
27     Set f = fso.OpenTextFile(filename, 8, True)
28     For i = 0 To 层数 - 1
29         f.Write 计算坐标(元件树(层数 - 1 - i))
30     Next
31     f.Write Chr(13) + Chr(10)
32     f.Close
33     
34     
35 End Sub
36 
37 Function 计算坐标(元件) As String
38     '这是一个特殊项目,画布是7680x3680,实际导出要缩小4倍,此处计算的是导出的图片中,元件的坐标位置
39     '坐标由4组整数组成,由逗号分隔
40     '需要注意的是,Corel中坐标的原点在画布左下角,而在 组态王 中,原点在 左上角, 此函数会对此进行变换
41     'Corel中得到的数都是以英寸为单位的浮点,而设计时是以像素为单位,本项目设定为 300像素/英寸,函数会将英寸换算为像素
42     Dim 输出文本 As String
43     Dim 中心坐标x, 中心坐标y, 宽度, 高度, 左上坐标x, 左上坐标y As Double
44     
45     输出文本 = 元件.Name
46     输出文本 = 输出文本 + Chr(9)
47     中心坐标x = 元件.BoundingBox.CenterX
48     中心坐标y = 元件.BoundingBox.CenterY
49     宽度 = 元件.BoundingBox.Width
50     高度 = 元件.BoundingBox.Height
51     左上坐标x = 中心坐标x - 宽度 / 2
52     左上坐标y = 3680 / 300 - 中心坐标y - 高度 / 2
53     
54     输出文本 = 输出文本 + Str(Round(左上坐标x * 300 / 4)) + "," + Str(Round(左上坐标y * 300 / 4)) + "," + Str(Round(宽度 * 300 / 4)) + "," + Str(Round(高度 * 300 / 4)) + Chr(13) + Chr(10)
55     计算坐标 = 输出文本
56 End Function
View Code

 

标签:贴图,Dim,VBA,CorelDraw,ActiveSelection,坐标,元件
From: https://www.cnblogs.com/jichao1515/p/18103011

相关文章

  • 关于《完全手册Excel VBA典型实例大全——通过368个例子掌握》随书样例的下载
    按照早先下载的电子教程查看和编写vba,有些例子使用运行错误,想着看看原始文件。容易看到,网上有提供的doc或者pdf文档,都不完整,可能是{完全手册Excel_VBA典型实例大全:通过368个例子掌握}.{doc,pdf}这样命名的,139页或者134页的样子。搜索发现很多一些链接要么失效,要么是需要相应的积......
  • Python-VBA编程500例-020-02(入门级)
    第k个组合(ThekthCombination)的问题在实际应用中具有广泛的用途,它涉及从n个不同元素中选出k个元素的所有可能组合。这种组合的概念在许多领域都有重要的应用,常见的一些具体应用有:1、彩票与赌博:在某些彩票或赌博游戏中,参与者需要选择特定数量的号码或符号。这些号码或符号的......
  • Python-VBA编程500例-017(入门级)
    数组剔除元素后的乘积(TheProductResultingFromAnArrayWithElementsExcluded)在多个领域具有实际应用价值。常见的应用场景有:1、金融数据分析:在金融领域,数组通常用来存储股票价格、交易量或其他相关金融指标。当分析人员需要剔除某个异常数据点或某个时间段的数据以进......
  • CorelDRAW2024专业的平面设计软件,专注于矢量图形编辑与排版
    CorelDRAW2024是一款专业的平面设计软件,专注于矢量图形编辑与排版。它可以提供无缝的图形、版面、插图、照片编辑、摹图、网络图像、印刷项目、美术作品、排版等设计体验,并可应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等领域。CDR2024绿色版下载链接:ht......
  • cad vba 打开excel并弹窗打开指定文件
     CADvba代码实现打开excel,并通过对话框选择xls文件,并打开此文件进行下一步操作。代码如下:OptionExplicit#IfVBA7ThenPrivateDeclarePtrSafeFunctionts_apiGetOpenFileNameLib"comdlg32.dll"Alias"GetOpenFileNameA"(tsFNAstsFileName)AsBooleanPriva......
  • ACCESS 关于使用VBA选择路径时提示"方法'FileDislog作用于对象'_Application’时失败"
    以下是源码:PrivateSubCommand0_Click()'打开文件选择对话框WithApplication.FileDialog(msoFileDialogFilePicker).AllowMultiSelect=False.Filters.Clear.Filters.Add"Excel文件","*.xls;*.xlsx",1I......
  • CorelDRAW2024中文版功能全面且强大的平面设计软件
    CorelDRAW2024是一款功能强大的专业平面设计软件,它提供了丰富的绘图工具和特效,使用户能够轻松创建各种类型的设计,如图标、海报、宣传册等。无论是从事平面设计、插画、品牌设计还是其他创意领域,CorelDRAW2024都能满足你的需求,帮助你释放无限的创意潜力,让你的设计脱颖而出。C......
  • VBA读取 Excel 并按工作表拆分成多个 Excel
    新建窗体SubSplitExcelByMonth()'OnErrorGoToErrorHandler'启用错误处理OnErrorResumeNextApplication.ScreenUpdating=FalseApplication.DisplayAlerts=FalseDimexclePath,sourceSheetName,groupSheetName,filterI......
  • CorelDRAW2024中文免费专业平面设计软件,让创意无限飞翔!
    CorelDRAW2024是一款功能强大的专业平面设计软件,它提供了丰富的绘图工具和特效,使用户能够轻松创建各种类型的设计,如图标、海报、宣传册等。无论是从事平面设计、插画、品牌设计还是其他创意领域,CorelDRAW2024都能满足你的需求,帮助你释放无限的创意潜力,让你的设计脱颖而出。......
  • CorelDraw 24.5.0.733 Crack + 2024序列号免费下载
    CorelDRAW2024最新版简介图形设计软件CorelDRAWGraphicsSuite2024零售版2024年3月完整版(25.0)正式发布!该更新包含了针对CorelDRAWGraphicsSuite2022年3月版(24.0版)的功能增强以及性能与稳定性改进.CorelDRAW2022增强了图像编辑和导出功能,新功能加快了图片编辑速度,......