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