zoukankan      html  css  js  c++  java
  • Direct2D Simple

    #define SAFE_RELEASE(p) if(p) { p->Release(); p = NULL; }
    // 2D
    ID2D1Factory* g_pD2DFactory = NULL;    // Direct2D factory
    ID2D1HwndRenderTarget* g_pD2DRenderTarget = NULL;    // Direct2D render target
    ID2D1SolidColorBrush* g_pD2DBlackBrush = NULL;    // A black brush fro Direct2D
    RECT g_D2DRect;    // Render area
    // Create Direct2D Factory
    HRESULT hr;
    hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &g_pD2DFactory);
    if(FAILED(hr))
    {
        MessageBoxA(0, "Create D2D Factory Failed!", "Error", 0);
        return;
    }
    // Create Direct2D Render Target
    hr = g_pD2DFactory->CreateHwndRenderTarget(D2D1::RenderTargetProperties(),
        D2D1::HwndRenderTargetProperties(g_hWnd, D2D1::SizeU(1366, 768)), &g_pD2DRenderTarget);
    if(FAILED(hr))
    {
        MessageBoxA(0, "Create D2D Render Target failed!", "Error", 0);
        return;
    }
    // Create D2D Brush
    hr = g_pD2DRenderTarget->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::Red), &g_pD2DBlackBrush);
    if(FAILED(hr))
    {
        MessageBoxA(0, "Create D2D Brush Failed!", "Error", 0);
        return;
    }
    // D2D Draw
    g_pD2DRenderTarget->BeginDraw();
    g_pD2DRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White)); // Warning: Clear() is Between BeginDraw() and EndDraw()
    g_pD2DRenderTarget->DrawRectangle(D2D1::RectF(100.0f, 100.0f, 500.0f, 500.0f), g_pD2DBlackBrush);
    HRESULT hr = g_pD2DRenderTarget->EndDraw();
    if(FAILED(hr))
    {
        MessageBoxA(0, "D2D Draw Failed!", "Error", 0);
        return;
    }
    // Release Resources
    void CleanUp()
    {
        SAFE_RELEASE(g_pD2DBlackBrush);
        SAFE_RELEASE(g_pD2DRenderTarget);
        SAFE_RELEASE(g_pD2DFactory);
    }
  • 相关阅读:
    2.5(他们其实都是图)
    食物链POJ1182
    LG P6748 『MdOI R3』Fallen Lord
    LG P4199 万径人踪灭
    LG P1912 [NOI2009]诗人小G
    LG P4381 [IOI2008]Island
    2020/8/9 模拟赛 T3 表格
    UOJ422 【集训队作业2018】小Z的礼物
    CF913F Strongly Connected Tournament
    LG P5643 [PKUWC2018]随机游走
  • 原文地址:https://www.cnblogs.com/ketmales/p/2485071.html
Copyright © 2011-2022 走看看