다음을 통해 공유


밝기 효과

밝기 효과를 사용하여 이미지의 밝기를 제어합니다.

이 효과에 대한 CLSID는 CLSID_D2D1Brightness.

예제 이미지

전에
효과 앞에 이미지를 .
변환 후 이미지를 .
ComPtr<ID2D1Effect> brightnessEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Brightness, &brightnessEffect);

brightnessEffect->SetValue(D2D1_BRIGHTNESS_PROP_BLACK_POINT, D2D1::Vector2F(0.0f, 0.2f));

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

효과 속성

속성 표시 이름 형식 및 기본값 묘사
WhitePoint
D2D1_BRIGHTNESS_PROP_WHITE_POINT
D2D1_VECTOR_2F
{1.0f, 1.0f}
밝기 전송 곡선의 위쪽 부분입니다. 흰색 점은 이미지의 밝은 부분의 모양을 조정합니다. 이 속성은 해당 순서대로 x 값과 y 값 모두에 대한 것입니다. 이 속성의 각 값은 0에서 1 사이이며 포함됩니다.
BlackPoint
D2D1_BRIGHTNESS_PROP_BLACK_POINT
D2D1_VECTOR_2F
{0.0f, 0.0f}
밝기 전달 곡선의 하위 부분입니다. 검은색 점은 이미지의 어두운 부분의 모양을 조정합니다. 이 속성은 해당 순서대로 x 값과 y 값 모두에 대한 것입니다. 이 속성의 각 값은 0에서 1 사이이며 포함됩니다.

이 효과는 지정된 흰색과 검은색 점을 사용하여 비트맵을 조정하는 데 사용되는 전송 함수를 생성합니다. 다음 수식에서는 전송 함수를 설명합니다. 입력 강도는 0에서 1 사이로 정의됩니다.

밝기 알고리즘

효과 알고리즘은 전송 함수를 만드는 수식을 구현합니다. 이 함수를 사용하여 이미지 픽셀을 조정합니다. 검정점과 흰색 점의 x 및 y 값은 변환을 형성하기 위해 연결된 두 차원의 좌표입니다. 최종 출력 수식의 각 부분:

  1. 다음 수식을 사용하여 이미지 데이터를 선형 공간에서 비선형 공간으로 변환합니다.도우미 함수 1

  2. 다음 값에 따라 이미지를 조정합니다.

    • 입력 0에서 1 사이의 입력 이미지 픽셀 강도 값입니다.

    • *화이트 Pt. (x, y)*더 밝은 픽셀 강도를 위한 변환 곡선의 위치입니다.

    • 블랙 Pt. (x, y) 는 어둡게 픽셀 강도에 대한 변환 곡선의 위치입니다.

  3. 다음 수식을 사용하여 이미지 데이터를 선형 공간으로 다시 변환합니다. 도우미 함수 2

최종 출력 수식 및 구성 요소 부분이 여기에 표시됩니다.

밝기 조정

출력 비트맵

출력 비트맵 크기는 입력 비트맵 크기와 동일합니다.

요구 사항

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

ID2D1Effect