GDI+做正弦曲线(获取窗口大小)

本文介绍了一个使用GDI+在窗口中绘制波动线条的示例代码。通过获取窗口客户区的坐标,并利用正弦函数计算每个点的位置,实现了动态效果的绘制。此外,还展示了如何画出坐标轴。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

void GdiDrawline(HWND hWnd, HDC hdc)
{
    Gdiplus::Graphics graphics(hdc);
    Gdiplus::Pen myPen(Gdiplus::Color::Red);
    myPen.SetWidth(1);
    RECT lpRect;
    GetClientRect(hWnd, &lpRect);//获取窗口客户区的坐标,例如:记事本程序编辑窗口的左上点相对于记事本程序的坐标,编辑窗口的右下点相对于记事本程序的坐标。
    int hight = lpRect.bottom - lpRect.top;
    int width = lpRect.right - lpRect.left;
    for (int i=0; i<width; i++)
    {
        graphics.DrawLine(&myPen, i, (int)(hight/2-hight/2*sin(i/100.0)), i+1, (int)(hight/2-hight/2*sin((i+1)/100.0)));
    }
    myPen.SetColor(Gdiplus::Color::Blue);
    graphics.DrawLine(&myPen, 0, hight/2, width, hight/2);//画横坐标
}
BOOL GetClientRect(
  HWND hWnd, // 窗口句柄
  LPRECT lpRect // 客户区坐标
  );//该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对窗口客户区的左上角而言的,因此左上角坐标为(0,0)
BOOL GetWindowRect(HWND hWnd,LPRECT lpRect);//该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。
BOOL ScreenToClient(HWND hWnd, LPPOINT lpPoint);//该函数把屏幕上指定点的屏幕坐标转换成用户坐标。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值