다음을 통해 공유


가우시안 흐림 효과

Gaussian 흐림 효과를 사용하여 전체 입력 이미지에 대한 Gaussian 함수를 기반으로 흐림 효과를 만듭니다.

이 효과를 사용하여 네온 및 그림자를 만들고 복합 효과를 사용하여 결과를 원래 이미지에 적용할 수 있습니다. 하이라이트 및 그림자와 같은 필터에 대한 사진 처리에 유용합니다. 알파 채널이 흐리게 표시되고 조명 효과도 알파 채널을 사용하여 표면 기하 도형을 높이 맵으로 결정하기 때문에 반사 조명 또는 확산 조명 효과와 같은 조명 효과에 입력할 때 이 효과의 출력을 사용할 수 있습니다.

이 효과는 기본 제공 그림자 효과에 사용됩니다.

이 효과에 대한 CLSID는 CLSID_D2D1GaussianBlur.

예제 이미지

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

gaussianBlurEffect->SetInput(0, bitmap);
gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);

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

효과 속성

표시 이름 및 인덱스 열거형 설명
StandardDeviation
D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION
이미지에 적용할 흐림 효과의 양입니다. 표준 편차를 3으로 곱하여 커널의 흐림 반경을 계산할 수 있습니다. 표준 편차와 흐림 반경 모두의 단위는 DIP입니다. DIP 값이 0이면 이 효과가 완전히 비활성화됩니다. FLOAT 형식입니다.
기본값은 3.0f입니다.
Optimization
D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION
최적화 모드입니다. 자세한 내용은 최적화 모드를 참조하세요. 형식이 D2D1_GAUSSIANBLUR_OPTIMIZATION.
기본값은 D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED.
BorderMode
D2D1_GAUSSIANBLUR_PROP_BORDER_MODE
소프트 또는 하드 이미지의 테두리를 계산하는 데 사용되는 모드입니다. 자세한 내용은 테두리 모드를 참조하세요.
형식이 D2D1_GAUSSIANBLUR_BORDER_MODE.
기본값은 D2D1_BORDER_MODE_SOFT.

최적화 모드

속성 설명
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED 비교적 작은 반경에서 사전 크기 조정과 같은 내부 최적화를 적용합니다. 선형 필터링을 사용합니다.
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED 속도 모드와 동일한 최적화 임계값을 사용하지만 삼선형 필터링을 사용합니다.
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY 큰 흐림 반지름이 있는 내부 최적화만 사용합니다. 여기서 근사값은 표시될 가능성이 적습니다. 삼선형 필터링을 사용합니다.

테두리 모드

속성 설명
D2D1_BORDER_MODE_SOFT 효과는 흐림 커널을 적용하여 부드러운 가장자리를 만들 때 투명한 검은색 픽셀로 이미지를 채운다.
D2D1_BORDER_MODE_HARD 효과는 출력을 입력 이미지의 크기로 고정합니다. 효과가 흐림 커널을 적용하면 입력 범위를 벗어난 샘플에 대한 미러 형식 테두리 변환을 사용하여 입력 이미지를 확장합니다.

출력 비트맵

이 효과의 출력은 흐림 반경 및 테두리 모드에 따라 입력 비트맵보다 클 수 있습니다. 테두리 모드가 D2D1_BORDER_MODE_SOFT 설정되면 출력 비트맵의 크기가 픽셀 단위로 표시되는 흐림 커널의 크기로 증가합니다. 이 표에서는 출력 비트맵을 계산하는 데 사용할 수 있는 수식을 제공합니다.

Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)

따라서 이미지 크기가 각 방향에서 10픽셀 증가하면 이미지의 왼쪽 위 모서리는 (-5, -5)에, 오른쪽 아래는 (105, 105)에 있습니다.

요구 사항

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

ID2D1Effect