방향 흐림 효과
방향 흐림 효과 가우스 블러유사합니다. 단, 특정 방향으로 흐림 효과를 왜곡할 수 있습니다. 이 효과를 사용하여 마치 움직이는 것처럼 이미지를 보이게 하거나 애니메이션 이미지를 강조할 수 있습니다.
이 효과에 대한 CLSID는 CLSID_D2D1DirectionalBlur.
예제 이미지
전에 |
---|
효과 앞에 이미지를 ![]() |
후 |
변환 후 이미지를 ![]() |
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();
효과 속성
표시 이름 및 인덱스 열거형 | 묘사 |
---|---|
StandardDeviation D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION |
이미지에 적용할 흐림 효과의 양입니다. 표준 편차를 3으로 곱하여 커널의 흐림 반경을 계산할 수 있습니다. 표준 편차와 흐림 반경의 단위는 모두 DIP입니다. 값이 0 DIP이면 이 효과가 비활성화됩니다. FLOAT 형식입니다. 기본값은 3.0f입니다. |
각 D2D1_DIRECTIONALBLUR_PROP_ANGLE |
시계 반대 방향으로 x축을 기준으로 하는 흐림 효과의 각도입니다. 단위는 도 단위로 지정됩니다. 흐림 효과 가우스 흐림 효과와 동일한 프로세스를 사용하여 흐림 커널이 먼저 생성됩니다. 그런 다음 커널 값은 흐림 각도에 따라 변환됩니다. FLOAT 형식입니다. 기본값은 0.0f입니다. |
최적화 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 |