밝기 효과

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

이 효과의 CLSID는 CLSID_D2D1Brightness.

예제 이미지

이전
효과 앞의 이미지입니다.
After
변환 후의 이미지입니다.
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();

효과 속성

속성 표시 이름 형식 및 기본값 Description
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. 다음 값에 따라 이미지를 조정합니다.

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

    • *White 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