다음을 통해 공유


ImageAttributes::SetOutputChannelColorProfile 메서드(gdiplusimageattributes.h)

ImageAttributes::SetOutputChannelColorProfile 메서드는 지정된 범주에 대한 출력 채널 색 프로필 파일을 설정합니다.

구문

Status SetOutputChannelColorProfile(
  [in]           const WCHAR     *colorProfileFilename,
  [in, optional] ColorAdjustType type
);

매개 변수

[in] colorProfileFilename

형식: const WCHAR*

색 프로필 파일의 경로 이름입니다. 색 프로필 파일이 %SystemRoot%\System32\Spool\Drivers\Color 디렉터리에 있는 경우 이 매개 변수는 파일 이름이 될 수 있습니다. 그렇지 않으면 이 매개 변수는 정규화된 경로 이름이어야 합니다.

[in, optional] type

형식: ColorAdjustType

출력 채널 색 프로필 파일이 설정된 범주를 지정하는 ColorAdjustType 열거형의 요소입니다. 기본값은 ColorAdjustTypeDefault입니다.

반환 값

형식: 상태

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

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

설명

ImageAttributes::SetOutputChannelImageAttributes::SetOutputChannelColorProfile 메서드를 사용하여 이미지를 CYAN-magenta-yellow-black(CMYK) 색 공간으로 변환하고 CMYK 색 채널 중 하나의 강도를 검사할 수 있습니다. 예를 들어 다음 단계를 수행하는 코드를 작성한다고 가정합니다.

  1. Image 개체를 만듭니다.
  2. ImageAttributes 개체를 만듭니다.
  3. ImageAttributes 개체의 ImageAttributes::SetOutputChannel 메서드에 ColorChannelFlagsC 전달합니다.
  4. ImageAttributes 개체의 ImageAttributes::SetOutputChannelColorProfile 메서드에 색 프로필 파일의 경로 이름을 전달합니다.
  5. Image 및ImageAttributes 개체의 주소를 DrawImage 메서드에 전달합니다.
Windows GDI+는 색 프로필 파일을 사용하여 이미지에서 각 픽셀의 시안 구성 요소를 계산하고 렌더링된 이미지의 각 픽셀은 시안 채널의 강도를 나타내는 회색 음영이 됩니다.

ImageAttributes 개체는 기본, 비트맵, 브러시, 펜 및 텍스트의 다섯 가지 조정 범주에 대한 색 및 회색조 설정을 유지합니다. 예를 들어 기본 범주에 대한 출력 채널 색 프로필 파일과 비트맵 범주에 대해 다른 출력 채널 색 프로필 파일을 지정할 수 있습니다.

기본 색 및 회색조 조정 설정은 자체 조정 설정이 없는 모든 범주에 적용됩니다. 예를 들어 비트맵 범주에 대한 조정 설정을 지정하지 않으면 기본 설정이 비트맵 범주에 적용됩니다.

특정 범주에 대한 색 또는 회색조 조정 설정을 지정하는 즉시 기본 조정 설정이 해당 범주에 더 이상 적용되지 않습니다. 예를 들어 기본 범주에 대한 조정 설정 컬렉션을 지정한다고 가정합니다. ColorAdjustTypeBitmapImageAttributes::SetOutputChannelColorProfile 메서드에 전달하여 비트맵 범주에 대한 출력 채널 색 프로필 파일을 설정하는 경우 비트맵에 기본 조정 설정이 적용되지 않습니다.

예제

다음 예제에서는 Image 개체를 만들고 DrawImage 메서드를 호출하여 이미지를 그립니다. 그런 다음, 코드는 ImageAttributes 개체를 만들고 ImageAttributes::SetOutputChannelColorProfile 메서드를 호출하여 비트맵 범주에 대한 프로필 파일을 지정합니다. ImageAttributes::SetOutputChannel에 대한 호출은 출력 채널(비트맵 범주의 경우)을 cyan으로 설정합니다. 이 코드는 DrawImage를 두 번째로 호출하여 Image 개체의 주소와 ImageAttributes 개체의 주소를 전달합니다. 각 픽셀의 시안 채널이 계산되고 렌더링된 이미지는 시안 채널의 강도를 회색 음영으로 표시합니다. 코드는 DrawImage 를 세 번 더 호출하여 마젠타, 노란색 및 검은색 채널의 강도를 표시합니다.


VOID Example_SetOutputProfile(HDC hdc)
{
   Graphics graphics(hdc);

   Image image(L"Mosaic2.bmp");
   ImageAttributes imAtt;
   UINT width = image.GetWidth();
   UINT height = image.GetHeight();

   // Draw the image unaltered.
   graphics.DrawImage(&image, 10, 10, width, height);

   imAtt.SetOutputChannelColorProfile(
      L"TEKPH600.ICM", ColorAdjustTypeBitmap);

   // Draw the image, showing the intensity of the cyan channel.
   imAtt.SetOutputChannel(ColorChannelFlagsC, ColorAdjustTypeBitmap);
   graphics.DrawImage(
      &image,
      Rect(110, 10, width, height),  // dest rect
      0, 0, width, height,           // source rect
      UnitPixel,
      &imAtt);

   // Draw the image, showing the intensity of the magenta channel.
   imAtt.SetOutputChannel(ColorChannelFlagsM, ColorAdjustTypeBitmap);
   graphics.DrawImage(
      &image,
      Rect(210, 10, width, height),  // dest rect
      0, 0, width, height,           // source rect
      UnitPixel,
      &imAtt);

   // Draw the image, showing the intensity of the yellow channel.
   imAtt.SetOutputChannel(ColorChannelFlagsY, ColorAdjustTypeBitmap);
   graphics.DrawImage(
      &image,
      Rect(10, 110, width, height),  // dest rect
      0, 0, width, height,           // source rect
      UnitPixel,
      &imAtt);

   // Draw the image, showing the intensity of the black channel.
   imAtt.SetOutputChannel(ColorChannelFlagsK, ColorAdjustTypeBitmap);
   graphics.DrawImage(
      &image,
      Rect(110, 110, width, height),  // dest rect
      0, 0, width, height,            // source rect
      UnitPixel,
      &imAtt); 
}
				

위의 코드는 Mosaic2.bmp 및 Tekph600.icm 파일과 함께 다음 출력을 생성했습니다.

한 이미지의 네 가지 버전을 보여 주는 일러스트레이션: 첫 번째 색상, 회색조의 세 가지 패턴

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP, Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 gdiplusimageattributes.h(Gdiplus.h 포함)
라이브러리 Gdiplus.lib
DLL Gdiplus.dll

추가 정보

ColorAdjustType

ColorChannelFlags

ImageAttributes

ImageAttributes::ClearOutputChannel

ImageAttributes::ClearOutputChannelColorProfile

ImageAttributes::SetOutputChannel