형태학 효과

이미지의 가장자리 경계를 얇거나 두껍게 하려면 형태 효과를 사용합니다. 이 효과는 지정한 너비 및 높이 값의 2배인 커널을 만듭니다. 이 효과는 계산하는 픽셀에 커널을 중심으로 하고 커널의 최대값(확장되는 경우) 또는 커널의 최소값(침식하는 경우)을 반환합니다.

이 효과에 대한 CLSID는 CLSID_D2D1Morphology입니다.

예제 이미지

이 예제에서는 침식 모드를 사용할 때의 효과 출력을 보여줍니다.

이전
효과 전의 이미지입니다.
이후
변환 후의 이미지입니다.
ComPtr<ID2D1Effect> morphologyEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Morphology, &morphologyEffect);

morphologyEffect->SetInput(0, bitmap);

morphologyEffect->SetValue(D2D1_MORPHOLOGY_PROP_MODE, D2D1_MORPHOLOGY_MODE_ERODE);
morphologyEffect->SetValue(D2D1_MORPHOLOGY_PROP_WIDTH, 14);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(morphologyEffect.Get());
m_d2dContext->EndDraw(); 

효과 속성

표시 이름 및 인덱스 열거형 유형 및 기본값 설명
모드
D2D1_MORPHOLOGY_PROP_MODE
D2D1_MORPHOLOGY_MODE
D2D1_MORPHOLOGY_MODE_ERODE
형태학 모드입니다. 사용 가능한 모드는 침식(평면화) 및 확장(두껍게 됨)입니다.
자세한 내용은 형태학 모드를 참조하세요.
Width
D2D1_MORPHOLOGY_PROP_WIDTH
UINT
1
X 방향의 커널 크기입니다. 단위는 DIP에 있습니다. 값은 1에서 100 사이(100 포함)여야 합니다.
Height
D2D1_MORPHOLOGY_PROP_HEIGHT
UINT
1
Y 방향의 커널 크기입니다. 단위는 DIP에 있습니다. 값은 1에서 100 사이(100 포함)여야 합니다.

형태학 모드

속성 설명
D2D1_MORPHOLOGY_MODE_ERODE 커널의 각 RGB 채널의 최소값이 사용됩니다.
D2D1_MORPHOLOGY_MODE_DILATE 커널의 각 RGB 채널의 최대값이 사용됩니다.

출력 비트맵

확장 모드의 경우 출력 비트맵 크기가 증가합니다.

요구 사항
출력 비트맵 증가 X = INT(FLOAT(너비) * ((사용자 DPI) / 96))
출력 비트맵 증가 Y = INT(FLOAT(높이) * ((사용자 DPI) / 96))

침식 모드의 경우 출력 비트맵 크기가 축소됩니다.

요구 사항
출력 비트맵 증가 X = INT(FLOAT(-너비) * ((사용자 DPI) / 96))
출력 비트맵 증가 Y = INT(FLOAT(-높이) * ((사용자 DPI) / 96))

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱]
지원되는 최소 서버 Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | Windows 스토어 앱]
헤더 d2d1effects.h
라이브러리 d2d1.lib, dxguid.lib

ID2D1Effect