1
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment (lib,"Gdiplus.lib")

然后画一些文字:

GdiplusStartupInput gdiplusStartupInput;
        ULONG_PTR           gdiplusToken;
        GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
        HDC hdc;
        Font *fn = new Font(TEXT("Arial"),50);
        hdc=GetDC(hWnd);
        ColorBlend cb = new ColorBlend();
        LinearGradientBrush *linGrBrush=new LinearGradientBrush(
            Point(0, 10),
            Point(200, 10),
            Color(255, 255, 0, 0),   
            Color(255, 0, 0, 255));

        Graphics *graphics=new Graphics(hdc);
         PointF drawPoint = PointF(150.0F,150.0F);
         SolidBrush* myBrush = new SolidBrush(Color::Black);
        graphics->DrawString(L"Test text",strlen("Test text"),fn,drawPoint,linGrBrush);
        GdiplusShutdown(gdiplusToken);

并且有ColorBlend没有找到标识符的错误,但似乎没问题。我该如何解决?

4

2 回答 2

1

我认为 GDI+ 中的相应函数是LinearGradientBrush::SetInterpolationColors 据我了解.NET 文档,GDI+ 中的 InterpolationColors 成员在这里与此函数一起使用。

于 2013-11-05T10:45:08.280 回答
1

该类ColorBlend是 .Net Framework 的一部分,据我所知,在 C++ 的 GDI+ 中没有任何名称。

于 2013-11-04T22:25:14.350 回答