- 精华
- 活跃值
-
- 积分
- 2911
- 违规
-
- 印币
-
- 鲜花值
-
- 在线时间
- 小时
累计签到:207 天 连续签到:5 天
|
楼主 |
发表于 2024-8-8 10:25:51
|
显示全部楼层
魔镜一直是大家的目标,感谢魔镜和其他用心制作插件的朋友!
前段时间刚学习 C++ CPG 编程,学习了一些魔镜的源码。
- auto srgp = cdr->CreateShapeRange();
- // 分组分别进行群组
- for (const auto& group : groups) {
- for (int index : group.second) {
- srgp->Add(sr->Shapes->Item[index]);
- }
- if(sr->Count >1) {
- srgp->GET_BOUNDING_BOX(box);
- // al->CreateRectangle2(box.x, box.y, box.w, box.h, ZERO_4PC); // 使用边界 创建一个矩形
- // box边界 转左上和右下坐标 box.x, box.y + box.h, box.x + box.w, box.y
- auto sh = cdr->ActivePage->SelectShapesFromRectangle(box.x, box.y + box.h, box.x + box.w, box.y, false);
- sh->Group();
- // srgp->Group(); // 使用框选的形状进行群组,竟然比 直接使用 ShapeRange->Group() 快了 10 倍
- }
- srgp->RemoveAll();
- }
复制代码
这次重写智能群组,主要依靠 AI GPT 写算法,然后自己摸索调试,直接使用 ShapeRange->Group() ;
速度竟然会很慢,然后试用魔镜测速他的会快许多。早上和老李讨论,他给我个建议,使用从矩形框选再群组,试试是否可以提高速度。没想到到竟然做到目前最快的智能群组。
|
|