怎么在mfc中画曲线 20

要做一个地图指示路径的导航软件,图上有些路径不能直线到达,要曲线才能,怎么画曲线啊。我看到一份代码,但是不太了解具体的意思,请给一下注释inti,j;CPenpen(PS... 要做一个地图指示路径的导航软件,图上有些路径不能直线到达,要曲线才能,怎么画曲线啊。我看到一份代码,但是不太了解具体的意思,请给一下注释
int i,j;
CPen pen(PS_SOLID,3,RGB(255,69,0)); //画笔粗细以及颜色
CClientDC dc1(this);
CPen *pOldpen=dc1.SelectObject(&pen);
for(j=0;j<3000;j++)
dc1.MoveTo(zuobiao[spath[0]].x,zuobiao[spath[0]].y);
for(i=1;i<=k+1;i++)
{
for(j=0;j<8000;j++)
dc1.LineTo(zuobiao[spath[i]].x,zuobiao[spath[i]].y);
}
dc1.SelectObject(pOldpen);
展开
 我来答
tn瓶邪
推荐于2016-10-26 · TA获得超过1881个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:112万
展开全部
  具体如下:
1)从CStatic派生,容易在对话框中使用。
2)能够随对话框的缩放自动改变大小,这里假设对话框中其它元素的位置基本不变。
3)曲线的粗细,颜色,线型(实,虚线)可以自由设置。
4)可以控制曲线的隐藏/显示。
5)两个坐标轴,Y轴根据数据自适应,实际数据最大最小值各偏离5%是坐标轴的最大最小值(简化起见,坐标轴采用五等分)。X轴是时间轴,一个像素点代表一个数据点,假设采样按一定的频率。
6)可以添加多条曲线。
7) 使用双缓冲,避免图形闪烁。
做一个CStatic派生控件的基本步骤:
1)定义一个从CStatic派生的类。
2)重载有关消息映射,WM_PAINT,WM_ERASEBKGND
3) 在OnPaint中绘图,在这里根据实际的需要做不同的计算,绘制。
  大致可分为以下几步,I布局计算,CStatic是整个绘图区,将这个区域划分为边缘空白,坐标轴区,曲线区等几个部分,需要算出各个部分的矩形顶点,以便控制曲线的绘制。
百度网友6eab688
2012-08-28 · TA获得超过4691个赞
知道大有可为答主
回答量:962
采纳率:50%
帮助的人:942万
展开全部
上面这段代码,就是用小段的直线,显示出曲线的效果
1. 先移动到第一个点
2. 然后向第二个点画直线
3. 向第三个点画直线
...
向第7999个点画直线
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
houliang120450
2012-09-07 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:105万
展开全部
1、CPen(int nPenStyle, int nWidth, COLORREF crColor);第一句就是一个cpen的构造函数,包括线型,粗细和颜色;
2、然后创建一个指向客户区的设备,并将该画笔选入设备(也就是你要划线的区域);
3、如果用断线形成曲线的话,你这个程序的思路好像不大对吧,应该是一个MoveTo对应一个LineTo吧。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式