CorelDRAW cdr插件 每个对象添加矩形外框

'定义一个Shape类型的变量s,用于表示形状对象,后续会用来遍历选中的形状等操作
Dim s As Shape
'定义一个SubPath类型的变量spath,用于表示子路径对象,会在处理曲线形状的子路径相关操作时使用
Dim spath As SubPath
'定义四个Double类型的变量x1、y1、x2、y2,用于存储坐标以及尺寸相关的数据
Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double

'将活动文档的参考点设置为左下角(cdrBottomLeft应该是预定义的表示左下角参考点的一个常量,具体取决于所在编程环境的定义)
ActiveDocument.ReferencePoint = cdrBottomLeft

'开始循环遍历活动选区(ActiveSelection)中的每一个形状对象,每次循环将当前形状对象赋值给变量s
For Each s In ActiveSelection.Shapes
    '判断当前形状s的类型,如果不是曲线形状(cdrCurveShape应该是预定义表示曲线形状的常量),则将该形状转换为曲线形状
    If s.Type <> cdrCurveShape Then s.ConvertToCurves
    '再次判断当前形状s的类型,如果是曲线形状,则进入以下代码块进行相关操作
    If s.Type = cdrCurveShape Then
        '循环遍历当前曲线形状s的每一条子路径,每次循环将当前子路径对象赋值给变量spath
        For Each spath In s.curve.Subpaths
            '获取当前子路径spath的横坐标位置(X坐标),并赋值给变量x1
            x1 = spath.PositionX
            '获取当前子路径spath的纵坐标位置(Y坐标),并赋值给变量y1
            y1 = spath.PositionY
            '通过当前子路径的横坐标位置加上其宽度,计算得到一个新的横坐标位置,赋值给变量x2,用于后续创建矩形的操作
            x2 = x1 + spath.SizeWidth
            '通过当前子路径的纵坐标位置加上其高度,计算得到一个新的纵坐标位置,赋值给变量y2,用于后续创建矩形的操作
            y2 = y1 + spath.SizeHeight
            '在活动图层(ActiveLayer)上创建一个矩形,传入左上角坐标(x1, y1)和右下角坐标(x2, y2)来确定矩形的位置和大小
            ActiveLayer.CreateRectangle x1, y1, x2, y2
        Next spath
    End If
Next s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值