다음을 통해 공유


Bitmap::ApplyEffect(Bitmap**,INT,Effect*,RECT*,RECT*,Bitmap**) 메서드(gdiplusheaders.h)

Bitmap::ApplyEffect 메서드는 기존 Bitmap 개체에 지정된 효과를 적용하여 새 Bitmap 개체를 만듭니다.

구문

Status ApplyEffect(
  [in]  Bitmap **inputs,
  [in]  INT    numInputs,
  [in]  Effect *effect,
  [in]  RECT   *ROI,
  [out] RECT   *outputRect,
  [out] Bitmap **output
);

매개 변수

[in] inputs

형식: 비트맵**

효과가 적용되는 Bitmap 개체에 대한 포인터의 주소입니다.

[in] numInputs

형식: INT

입력 비트맵 수를 지정하는 정수입니다. 이 매개 변수는 1로 설정해야 합니다.

[in] effect

형식: 효과*

Effect 클래스의 하위 항목 instance 대한 포인터입니다. 하위 항목(예: Blur 개체)은 적용되는 효과를 지정합니다.

[in] ROI

형식: RECT*

사용되는 입력 비트맵의 부분을 지정하는 RECT 구조체에 대한 포인터입니다.

[out] outputRect

형식: RECT*

사용된 입력 비트맵의 부분을 수신하는 RECT 구조체에 대한 포인터입니다. ROI에서 지정한 사각형이 입력 비트맵 내에 완전히 있는 경우 outputRect에서 반환된 사각형은 ROI와 동일합니다. ROI에서 지정한 사각형의 일부가 입력 비트맵 외부에 있는 경우 outputRect에 반환된 사각형은 입력 비트맵 내에 있는 ROI 부분입니다. 출력 사각형을 받지 않으려면 NULL 을 전달합니다.

[out] output

형식: 비트맵**

Bitmap 개체에 대한 포인터를 수신하는 변수의 주소입니다.

반환 값

형식: 상태

메서드가 성공하면 Status 열거형의 요소인 확인을 반환합니다.

메서드가 실패하면 Status 열거형의 다른 요소 중 하나를 반환합니다.

설명

Bitmap::ApplyEffect 는 새 Bitmap 개체에 대한 포인터를 반환합니다. 해당 Bitmap 개체 사용을 마쳤으면 delete 를 호출하여 해당 개체가 차지하는 메모리를 해제합니다.

예제

다음 예제에서는 inputBitmapoutputBitmap이라는 두 개의 비트맵 개체를 만듭니다. 먼저 inputBitmap 은 BMP 파일에서 생성됩니다. 그런 다음 inputBitmap의 주소를 Bitmap::ApplyEffect 메서드에 전달하여 outputBitmap을 만듭니다. Bitmap::ApplyEffectrectOfInterest로 지정된 inputBitmap의 부분을 사용하고 BrightnessContrast 개체인 briCon에 지정된 대로 대비를 높입니다.

VOID Example_BrightnessContrastApplyEffect2(HDC hdc)
{
   Graphics graphics(hdc);
   Bitmap* inputBitmap = new Bitmap(L"Picture.bmp");
   Bitmap* outputBitmap = NULL;  
   RECT rectOfInterest = {10, 12, 100, 80};
  
   BrightnessContrastParams briConParams;
   briConParams.brightnessLevel = 0;
   briConParams.contrastLevel = 25;
   BrightnessContrast briCon;
   briCon.SetParameters(&briConParams);

   // Draw the original image.
   graphics.DrawImage(inputBitmap, 20, 20);

   // Apply the change in contrast.
   Bitmap::ApplyEffect(
      &inputBitmap, 1, &briCon, &rectOfInterest, NULL, &outputBitmap);

   // Draw the new image.
   graphics.DrawImage(outputBitmap, 200, 20);

   delete inputBitmap;
   delete outputBitmap;
}

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 gdiplusheaders.h(Gdiplus.h 포함)
라이브러리 Gdiplus.lib
DLL Gdiplus.dll

참고 항목

Bitmap

비트맵::ApplyEffect 메서드