VC++ MFC 绘制曲线

把几个点(不在一条直线上)用平滑的曲线连起来。只需介绍用什么类或函数,怎么用?谢谢... 把几个点(不在一条直线上)用平滑的曲线连起来。
只需介绍用什么类或函数,怎么用?谢谢
展开
 我来答
dongyue2008
推荐于2018-03-08 · TA获得超过3602个赞
知道大有可为答主
回答量:1300
采纳率:100%
帮助的人:591万
展开全部
在MFC中并没有现成的类或函数实现这一功能。不过有类似的函数,比如:
CDC::PolylineTo
BOOL PolylineTo( const POINT* lpPoints, int nCount );

CDC::Polyline
BOOL Polyline( LPPOINT lpPoints, int nCount );

你可以利用这两个函数,自己编写一个类或函数,实现你想要的画平滑曲线的功能。示例:
折线的作用示例——绘制一条正弦曲线
#include <math.h>
#define PI 3.1415926
#define SEGMENT 500
void CMainWindow::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
int nWidth = rect.Width();
int nHeight = rect.Height();
CPoint aPoint[SEGMENT];
for (int i=0; i<SEGMENT; i++)
{
aPoint[i].x = (i * nWidth) / SEGMENT;
aPoint[i].y = (int) ((nHeight / 2) * (1 - (sin((2*PI*i)/SEGMENT))));
}
dc.Polyline(aPoint,SEGMENT);
}
东莞大凡
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进... 点击进入详情页
本回答由东莞大凡提供
星月小木木
推荐于2016-01-02 · TA获得超过3.2万个赞
知道大有可为答主
回答量:2.4万
采纳率:0%
帮助的人:9745万
展开全部
在MFC中并没有现成的类或函数实现这一功能。不过有类似的函数,比如:
CDC::PolylineTo
BOOL PolylineTo( const POINT* lpPoints, int nCount );

CDC::Polyline
BOOL Polyline( LPPOINT lpPoints, int nCount );

你可以利用这两个函数,自己编写一个类或函数,实现你想要的画平滑曲线的功能。示例:
折线的作用示例——绘制一条正弦曲线
#include <math.h>
#define PI 3.1415926
#define SEGMENT 500
void CMainWindow::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
int nWidth = rect.Width();
int nHeight = rect.Height();
CPoint aPoint[SEGMENT];
for (int i=0; i<SEGMENT; i++)
{
aPoint[i].x = (i * nWidth) / SEGMENT;
aPoint[i].y = (int) ((nHeight / 2) * (1 - (sin((2*PI*i)/SEGMENT))));
}
dc.Polyline(aPoint,SEGMENT);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式