ID2D1Geometry::Outline 메서드
기하 도형의 윤곽선을 계산하고 결과를 ID2D1SimplifiedGeometrySink에 씁니다.
오버로드 목록
메서드 | 설명 |
---|---|
Outline(D2D1_MATRIX_3X2_F&,ID2D1SimplifiedGeometrySink*) | 기하 도형의 윤곽선을 계산하고 결과를 ID2D1SimplifiedGeometrySink에 씁니다. |
Outline(D2D1_MATRIX_3X2_F*,ID2D1SimplifiedGeometrySink*) | 기하 도형의 윤곽선을 계산하고 결과를 ID2D1SimplifiedGeometrySink에 씁니다. |
Outline(D2D1_MATRIX_3X2_F&,FLOAT,ID2D1SimplifiedGeometrySink*) | 기하 도형의 윤곽선을 계산하고 결과를 ID2D1SimplifiedGeometrySink에 씁니다. |
Outline(D2D1_MATRIX_3X2_F*,FLOAT,ID2D1SimplifiedGeometrySink*) | 기하 도형의 윤곽선을 계산하고 결과를 ID2D1SimplifiedGeometrySink에 씁니다. |
설명
Outline 메서드를 사용하면 호출자가 다음과 같은 추가 속성을 사용하여 입력 기하 도형에 해당하는 채우기가 있는 기하 도형을 생성할 수 있습니다.
- 출력 기하 도형에는 횡적 교집합이 없습니다. 즉, 세그먼트는 터치할 수 있지만 교차하지는 않습니다.
- 출력 기하 도형의 가장 바깥쪽 그림은 모두 시계 반대 방향입니다.
- 출력 기하 도형은 채우기 모드 고정입니다. 즉, 기하 도형의 채우기는 채우기 모드의 선택에 따라 달라지지 않습니다. 채우기 모드에 대한 자세한 내용은 D2D1_FILL_MODE 참조하세요.
또한 Outline 메서드는 복소수 기하 도형의 중복 부분을 제거하여 복잡한 기하 도형을 단순화하는 데 유용할 수 있습니다. ID2D1GeometryGroup과 함께 여러 기하 도형 간에 통합을 동시에 만드는 데 유용할 수도 있습니다.
예제
다음 코드에서는 개요를 사용하여 자체 교집합 없이 동등한 기하 도형을 생성하는 방법을 보여 줍니다. 기본 평면화 허용 오차를 사용하므로 매우 작은 기하 도형과 함께 사용하면 안 됩니다.
HRESULT D2DOutline(
ID2D1Geometry *pGeometry,
ID2D1Geometry **ppGeometry
)
{
HRESULT hr;
ID2D1Factory *pFactory = NULL;
pGeometry->GetFactory(&pFactory);
ID2D1PathGeometry *pPathGeometry = NULL;
hr = pFactory->CreatePathGeometry(&pPathGeometry);
if (SUCCEEDED(hr))
{
ID2D1GeometrySink *pSink = NULL;
hr = pPathGeometry->Open(&pSink);
if (SUCCEEDED(hr))
{
hr = pGeometry->Outline(NULL, pSink);
if (SUCCEEDED(hr))
{
hr = pSink->Close();
if (SUCCEEDED(hr))
{
*ppGeometry = pPathGeometry;
(*ppGeometry)->AddRef();
}
}
pSink->Release();
}
pPathGeometry->Release();
}
pFactory->Release();
return hr;
}
요구 사항
요구 사항 | 값 |
---|---|
라이브러리 |
|
DLL |
|