浮云E绘图之多点连线源码

本文详细介绍了浮云E绘图中多点连线的实现过程,包括起点设定、鼠标操作及绘图更新。浮云E绘图支持多种绘图场景,提供丰富的SDK包和API接口,适用于电子图纸、逻辑电路图等多种项目的快速开发。编辑器具备基础图形绘制、对齐、分层等功能,并在新版本中增加了更多图元和复合图元模板功能,助力高效绘图。
摘要由CSDN通过智能技术生成

多点连线是浮云E绘图中非常重要的基础图元,可用在电路线路、波形、折线等场景。

多点连线操作过程:鼠标左键按下(绘制第1个点)-> 松开左键,移动鼠标 -> 鼠标左键按下(绘制第2个点,并与第1个点连线) -> 松开左键,移动鼠标 -> ...... ->双击鼠标左键,完成最后一个点。

下面详细介绍多点连线的开发过程。

#define MAX_POINT_COUNT 20   // 最大点数
​​​​​​​CPoint  m_points[MAX_POINT_COUNT];   // 数据点集
int m_nPointCount;   // 实际点数
BOOL m_bDrawing = FALSE;

void CDrawWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
  if(!m_bDrawing)  // 开始多点绘图
  {	
    // 起点第1个点
    m_points[m_nPointCount].x = point.x;
    m_points[m_nPointCount].y = point.y;
    m_nPointCount += 1;
    // 提前预置1个点(用于鼠标移动时存放移动点)
    m_pointsm_pts[m_nPointCount].x = point.x;
    m_pointsm_pts[m_nPointCount].y = point.y;
    m_nPointCount += 1;

    m_bDrawing = TRUE;
  }
  else  //每次鼠标左键按下,点数+1	
  {
    m_points[m_nPointCount-1].x = point.x;
    m_points[m_nPointCount-1].y = point.y;
    if(m_nPointCount == MAX_POINT_COUNT)  // 最大点数,结束多点绘图
    {
       m_bDrawing = FALSE;
    }
    else  // 提前预置1个点(用于鼠标移动时存放移动点)
    {
      m_nPointCount += 1;
      m_points[m_nPointCount-1].x = point.x;
      m_points[m_nPointCount-1].y = point.y;
    }
  }
}


void CDrawWnd::OnMouseMove(UINT nFlags, CPoint point)
{
  if(m_bDrawing)  // 多点绘图
  {
    m_points[m_nPointCount-1].x = point.x;
    m_points[m_nPointCount-1].y = point.y;
  }
}


void CDrawWnd::OnLButtonDblClk(UINT nFlags, CPoint point)
{
  if(m_bDrawing)  // 多点绘图
  {
    --m_nPointCount;   // 最后减去每当鼠标左键按下多+1个点
    m_bDrawing = FALSE;
  }
}


void CDrawWnd::OnPaint() 
{// 可用内存位图绘制,避免闪烁提升效率
  CPaintDC dc(this);
  for(int i=0; i<m_nPointCount-1; i++)
  {
    dc.MoveTo(m_points[i]);
    dc.LineTo(m_points[i+1]);
  }
}

浮云E绘图支持快速开发电子图纸、逻辑电路图、工业控制流程图、工艺流程图、管道图、平面布局图等各类绘图项目,提供完备的SDK包(绘图编辑器+绘图组件DLL+API Demo+说明文档)。下图是多点连线的应用

多点线应用于上图的变压器波形线、电路线路折线、滑动变阻器滑动线、框图线等。

浮云E绘图是一款功能实用、操作简便,提供完整的SDK,支持绘图项目快速二次开发。
浮云E绘图通过线段、矩形、圆形、三角形、扇形、多点线、文字、图片等基础图形的绘制组合,可以满足诸多绘图场景的需要。浮云E绘图对外提供完善的API接口,支持第三方工程控制图形的Line线条(颜色、宽度、虚实、端点)、Area区域(颜色、是否填充)、Text文字(内容、字体类型、字体大小、字体颜色)、Image图片(状态列表和状态值),并通过图形的Title、Name属性与业务对象关联,实时更新图形的展示形态。

浮云绘图2.0编辑器功能强大:
A 支持线、方块、圆、文字、图片等基础图形绘制
B 支持撤销Ctrl+Z、重做Ctrl+D、剪切Ctrl+X、复制Ctrl+C、粘贴Ctrl+V等
C 支持对齐(左对齐、居中对齐、右对齐、顶部对齐...)、分布(水平、垂直)等
D 支持分层(置于顶层、上移一层、下移一层、置于底层)、分组(组合、打散)等
E 单独设置图形属性、批量设置属性
F 画布背景色、网格(线条模式、点集模式)、自动吸附对齐等
G 支持(鼠标中键)缩放(缩放比例、缩放因子)、滚动等
H 绘图数据文件打开、加载、保存等

浮云E绘图3.0编辑器功能扩展:
A 增加多点线、三角形、扇形、四边形等基础图元
B 增加复合图元模板功能。通过多个基础图元,组合成复合图元,同步绘制。支持创建复合图元模板,动态加载复合图元。
C 通过复合图元,可以更灵活更快速的支持电路图、工业控制系统图、工艺流程图等各领域绘图。


浮云绘图SDK2.0下载链接:https://pan.baidu.com/s/1rEtFWFHYS_zf4zCT2X_8Bw?pwd=4zfw     提取码:4zfw

浮云E绘图SDK3.0下载链接:https://download.csdn.net/download/fyhhack/85528048
百度网盘下载链接:https://pan.baidu.com/s/1h_uD8Zc8NCmLb8_jsUydwA?pwd=seyr     提取码:seyr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮云绘图

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值