MFC中使用GDI+

1、 打开stdafx.h头文件,添加头文件和库。

#pragma comment( lib, "gdiplus.lib" )
#include "gdiplus.h"
using namespace Gdiplus;
2、在CXXWinApp::InitInstance()函数内加载GDI  
  //加载GDI+
    GdiplusStartupInput gdiplusStartupInput;
    GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);

3、记得要在CXXWinApp::ExitInstance( )函数内关闭GDI

//关闭GDI+
    GdiplusShutdown(m_gdiplusToken);

4、在你需要绘图的地方调用Graphics即可,如下面例子

//平滑曲线

   Graphics graphics(pDC->m_hDC);
    graphics.SetPageUnit(UnitPixel);
    graphics.TranslateTransform(0,(mywaverect.top + mywaverect.bottom)/2);
    graphics.SetSmoothingMode(SmoothingModeAntiAlias);
    Pen pen1(Color(GetRValue(m_clWave),GetGValue(m_clWave),GetBValue(m_clWave)),
        m_nWaveLineWidth * ratio/(g_nWaveLine+1));
    pen1.SetDashStyle(DashStyle::DashStyleSolid);
    PointF pt1,pt2;
    for(int i=0;i<nShowPt;i++)
    {
        pt2.X=i*pixpervaluex;
        pt2.Y=-(m_pfData[i]*pixpervaluey);
        if(i>0)
            graphics.DrawLine(&pen1,pt1,pt2);
        pt1=pt2;
    }
    graphics.TranslateTransform(0,0);
    graphics.ReleaseHDC(pDC->m_hDC);

猜你喜欢

转载自blog.csdn.net/zhuzi2129/article/details/82177465