Microsoft Q&A
이 태그를 사용하여 제안, 기능 요청 및 버그를 Microsoft Q&A 팀과 공유합니다. Microsoft Q&A 팀은 정기적으로 피드백을 평가하고 그 과정에서 업데이트를 제공합니다.
질문 264개
이 브라우저는 더 이상 지원되지 않습니다.
최신 기능, 보안 업데이트, 기술 지원을 이용하려면 Microsoft Edge로 업그레이드하세요.
I rendered image files and text on an MFC Dialog screen. I would like to convert this rendered screen to a GDI+ Bitmap object. The reason for converting is to retrieve the scan0 value of Bitmapdata using the Bitmap object. is this possible?
void CD2D1AppDlg::DrawingRender()
{
HRESULT hr = S_OK;
if (m_pRenderTarget == nullptr)
{
RECT rc;
GetClientRect(&rc);
D2D1_SIZE_U size = D2D1::SizeU(rc.right - rc.left, rc.bottom - rc.top);
// Create render target
hr = m_pDirect2dFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(m_hWnd, size),
&m_pRenderTarget);
if (FAILED(hr))
{
MessageBox(L"Failed to create render target", L"Error", MB_OK);
return ;
}
}
m_pRenderTarget->BeginDraw();
m_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::Black));
if (m_pBitmap)
{
D2D1_SIZE_F imageSize = m_pBitmap->GetSize();
m_pRenderTarget->DrawBitmap(m_pBitmap, D2D1::RectF(10, m_imagePosY, 10 + imageSize.width, m_imagePosY + imageSize.height));
}
// Draw text
static const WCHAR sc_helloWorld[] = L"Hello, World!";
D2D1_RECT_F layoutRect = D2D1::RectF(20, static_cast<float>(m_textPosY), 300, static_cast<float>(m_textPosY + 50));
m_pRenderTarget->DrawText(sc_helloWorld, ARRAYSIZE(sc_helloWorld) - 1, m_pTextFormat, &layoutRect, m_pTextBrush);
hr = m_pRenderTarget->EndDraw();
if (FAILED(hr))
{
MessageBox(L"Rendering failed", L"Error", MB_OK);
}
}