VOID DrawRectangle() { CreateD2DResource(g_Hwnd) ; pRenderTarget->BeginDraw() ; // Clear background color to dark cyan pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White)); // Draw ellipse pRenderTarget->DrawEllipse( &g_Ellipse, pBlackBrush, 2.f // stroke width ) ; // Fill ellipse pRenderTarget->FillEllipse( &g_Ellipse, pRadialGradientBrush ) ; HRESULT hr = pRenderTarget->EndDraw() ; if (FAILED(hr)) { MessageBox(NULL, "Draw failed!", "Error", 0) ; } }
void DrawBitmap() { CreateD2DResource(g_Hwnd) ; pRenderTarget->BeginDraw() ; // Clear background color to dark cyan pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White)); D2D1_SIZE_F size = pBitmap->GetSize() ; D2D1_POINT_2F upperLeftCorner = D2D1::Point2F(0.f, 0.f) ; // Draw bitmap pRenderTarget->DrawBitmap( pBitmap, D2D1::RectF( upperLeftCorner.x, upperLeftCorner.y, upperLeftCorner.x + size.width, upperLeftCorner.y + size.height) ) ; HRESULT hr = pRenderTarget->EndDraw() ; if (FAILED(hr)) { MessageBox(NULL, "Draw failed!", "Error", 0) ; return ; } }
VOID DrawRectangle() { CreateD2DResource(g_Hwnd) ; pRenderTarget->BeginDraw() ; // Clear background color to dark cyan pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::DarkCyan)); // Draw Rectangle D2D1_RECT_F rectangle = D2D1::RectF(200.f, 200.f, 400.f, 400.f) ; pRenderTarget->DrawRectangle( rectangle, pBlackBrush ); // Skew pRenderTarget->SetTransform( D2D1::Matrix3x2F::Skew(30.f, 0.f, D2D1::Point2F(200.f, 200.f)) ) ; // Fill the rectangle pRenderTarget->FillRectangle(rectangle, pRedBrush) ; HRESULT hr = pRenderTarget->EndDraw() ; if (FAILED(hr)) { MessageBox(NULL, "Draw failed!", "Error", 0) ; return ; } }
VOID DrawRectangle() { CreateD2DResource(g_Hwnd) ; g_pRenderTarget->BeginDraw() ; g_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity()); g_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White)); g_pSceneBrush->SetColor(D2D1::ColorF(D2D1::ColorF::Red, 1.f)) ; g_pRenderTarget->FillGeometry(g_pSunGeometry, g_pSceneBrush); g_pSceneBrush->SetColor(D2D1::ColorF(D2D1::ColorF::Black, 1.f)); g_pRenderTarget->DrawGeometry(g_pSunGeometry, g_pSceneBrush, 1.f); g_pSceneBrush->SetColor(D2D1::ColorF(D2D1::ColorF::OliveDrab, 1.f)); g_pRenderTarget->FillGeometry(g_pLeftMountainGeometry, g_pSceneBrush); g_pSceneBrush->SetColor(D2D1::ColorF(D2D1::ColorF::Black, 1.f)); g_pRenderTarget->DrawGeometry(g_pLeftMountainGeometry, g_pSceneBrush, 1.f); g_pSceneBrush->SetColor(D2D1::ColorF(D2D1::ColorF::LightSkyBlue, 1.f)); g_pRenderTarget->FillGeometry(g_pRiverGeometry, g_pSceneBrush); g_pSceneBrush->SetColor(D2D1::ColorF(D2D1::ColorF::Black, 1.f)); g_pRenderTarget->DrawGeometry(g_pRiverGeometry, g_pSceneBrush, 1.f); g_pSceneBrush->SetColor(D2D1::ColorF(D2D1::ColorF::YellowGreen, 1.f)); g_pRenderTarget->FillGeometry(g_pRightMountainGeometry, g_pSceneBrush); g_pSceneBrush->SetColor(D2D1::ColorF(D2D1::ColorF::Black, 1.f)); g_pRenderTarget->DrawGeometry(g_pRightMountainGeometry, g_pSceneBrush, 1.f); HRESULT hr = g_pRenderTarget->EndDraw() ; if (FAILED(hr)) { MessageBox(NULL, "Draw failed!", "Error", 0) ; return ; } }
VOID DrawRectangle(HWND hwnd) { CreateD2DResource(hwnd) ; // Create a translation matrix based on the time elapsed D2D1_MATRIX_3X2_F matrix ; CalculateTranslationMatrix( &matrix ); // Create a transformed geometry HRESULT hr = g_pD2DFactory->CreateTransformedGeometry( g_pRectangleGeometry, matrix, &g_pTransformedGeometry ); if (FAILED(hr)) { MessageBox(NULL, "Create transformed geometry failed!", "Error", 0) ; return; } g_pRenderTarget->BeginDraw() ; // Clear background color to dark cyan g_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::DarkCyan)); g_pRenderTarget->DrawGeometry( g_pTransformedGeometry, g_pBlackBrush ); hr = g_pRenderTarget->EndDraw() ; if (FAILED(hr)) { MessageBox(NULL, "Draw failed!", "Error", 0) ; return ; } }
VOID DrawRectangle(HWND hwnd) { CreateD2DResource(hwnd) ; g_pRenderTarget->BeginDraw() ; // Clear background color to white g_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White)); // Get the old render target transform matrix D2D1_MATRIX_3X2_F oldMatrix; g_pRenderTarget->GetTransform(&oldMatrix); D2D1_MATRIX_3X2_F matrix;// = D2D1::Matrix3x2F::Translation(100, 100); CalculateTranslationMatrix(&matrix); g_pRenderTarget->SetTransform(&matrix); // Draw Rectangle g_pRenderTarget->DrawRectangle( D2D1::RectF(10.f, 10.f, 50.f, 50.f), g_pBlackBrush ); // Restore the old matrix g_pRenderTarget->SetTransform(&oldMatrix); g_pRenderTarget->DrawRectangle( D2D1::RectF(100.0f, 100.0f, 500.0f, 500.0f), g_pBlackBrush ); HRESULT hr = g_pRenderTarget->EndDraw() ; if (FAILED(hr)) { MessageBox(NULL, "Draw failed!", "Error", 0) ; return ; } }