- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
代码:
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加任意绘图代码...
//画正玄线
#define PI 3.1415926
#define SEGMENT 500
int cxClient,cyClient;
RECT rect;
::GetClientRect(hWnd, &rect);
cxClient = rect.right - rect.left;
cyClient = rect.bottom - rect.top;
POINT pt[SEGMENT];
for (int i=0;i<SEGMENT;i++)
{
pt[i].x = i * cxClient/SEGMENT; //cxClient的长度被分成SEGMENT份
pt[i].y = (int)((cyClient/2)*(1 - sin(2 * PI * i/SEGMENT))); //因为sin(2pi)取反,因为数学坐标Y轴向上,而系统中坐标Y轴向下,+cyClient/2是将坐标原点移到左上角
}
:olyline(hdc, pt, SEGMENT); //绘图函数
EndPaint(hWnd, &ps);
break; |
|