Использование прямого x (прямой 3d или 2d) Я хотел бы нарисовать часть круга, указав тету, начальную точку и конечную точку. Например, я хочу установить координаты источника x/y как 0/0, theta на 20 градусов и конец x/y как 200/200, чтобы нарисовать часть круга.Как нарисовать часть круга в C++/Direct X?
Плоский 2D-круг или, точнее, его часть. Есть идеи? Благодарю.
Я добавил код, но это прошло через множество изменений, но это не сработало, поэтому я не смотрел на него с тех пор.
D2D1CreateFactory(D2D1_FACTORY_TYPE_MULTI_THREADED, &pD2DFactory);
RECT rc = {dx,dy,dx+dw,dy+dh};
D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(
D2D1_RENDER_TARGET_TYPE_DEFAULT,
D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM,D2D1_ALPHA_MODE_IGNORE),
0,0, D2D1_RENDER_TARGET_USAGE_NONE, D2D1_FEATURE_LEVEL_DEFAULT);
pD2DFactory->CreateDCRenderTarget(&props,&pD2DDCRenderTarget);
pD2DDCRenderTarget->BindDC(hDC,&rc);
pD2DDCRenderTarget->CreateBitmap (D2D1::SizeU(sw,sh),(void*)p_bmp,pitch,
D2D1::BitmapProperties(D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM,D2D1_ALPHA_MODE_IGNORE)),
&pD2DBitmap);
pD2DDCRenderTarget->BeginDraw();
pD2DDCRenderTarget->DrawBitmap(pD2DBitmap,
D2D1::RectF((FLOAT)dx,(FLOAT)dy,(FLOAT)dw,(FLOAT)dh),1.0,D2D1_BITMAP_INTERPOLATION_MODE_LINEAR,
D2D1::RectF((FLOAT)sx,(FLOAT)sy,(FLOAT)sw,(FLOAT)sh));
pD2DDCRenderTarget->EndDraw();
SafeRelease(&pD2DBitmap);
SafeRelease(&pD2DDCRenderTarget);
SafeRelease(&pD2DFactory);
что вы пытались до сих пор? –
@FirstStep Я попытался использовать прямоугольники для его создания, но это оказалось ужасным по форме и производительности –
Можем ли мы увидеть код и выход? –