방향 흐림 효과

방향 흐림 효과는 특정 방향으로 흐림을 왜곡할 수 있다는 점을 제외하고 가우스 흐림 효과와 유사합니다. 이 효과를 사용하여 이미지가 움직이는 것처럼 보이도록 하거나 애니메이션 이미지를 강조할 수 있습니다.

이 효과에 대한 CLSID는 CLSID_D2D1DirectionalBlur.

예제 이미지

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

directionalBlurEffect->SetInput(0, bitmap);
directionalBlurEffect->SetValue(D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION, 7.0f);

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

효과 속성

표시 이름 및 인덱스 열거형 Description
StandardDeviation
D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION
이미지에 적용할 흐림 효과의 양입니다. 표준 편차를 3으로 곱하여 커널의 흐림 반경을 계산할 수 있습니다. 표준 편차와 흐림 반경의 단위는 모두 DIP입니다. 값이 0 DIP이면 이 효과가 비활성화됩니다. FLOAT 형식입니다.
기본값은 3.0f입니다.
각도
D2D1_DIRECTIONALBLUR_PROP_ANGLE
시계 반대 방향으로 x축을 기준으로 하는 흐림의 각도입니다. 단위는 도 단위로 지정됩니다.
흐림 커널은 가 우스 흐림 효과와 동일한 프로세스를 사용하여 먼저 생성됩니다. 그런 다음 커널 값은 흐림 각도에 따라 변환됩니다.
FLOAT 형식입니다.
기본값은 0.0f입니다.
Optimization
D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION
최적화 모드입니다. 자세한 내용은 최적화 모드 를 참조하세요.
형식이 D2D1_DIRECTIONALBLUR_OPTIMIZATION.
기본값은 D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED.
BorderMode
D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE
소프트 또는 하드 이미지의 테두리를 계산하는 데 사용되는 모드입니다. 자세한 내용은 테두리 모드 를 참조하세요.
형식이 D2D1_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 설정되면 출력 비트맵의 크기가 픽셀 단위로 표시되는 흐림 커널의 크기로 증가합니다. 이러한 수식을 사용하여 출력 비트맵의 크기를 계산할 수 있습니다.

요구 사항
출력 비트맵 증가 X StandardDeviation(DIP) * 6 * ((User DPI) / 96) * cos(Angle))
출력 비트맵 증가 Y StandardDeviation(DIP) * 6 * ((User DPI) / 96) * sin(Angle))

요구 사항

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

ID2D1Effect