다음을 통해 공유


색 번역

변환은 네 가지 색 구성 요소 중 하나 이상에 값을 추가합니다. 변환을 나타내는 색 행렬 항목은 다음 표에 제공되어 있습니다.

변환할 구성 요소 행렬 항목
빨간색 [4][0]
녹색 [4][1]
파랑 [4][2]
알파 [4][3]

 

다음 예제에서는 파일 ColorBars.bmp Image 개체를 생성합니다. 그런 다음, 코드는 이미지에서 각 픽셀의 빨간색 구성 요소에 0.75를 추가합니다. 원본 이미지는 변환된 이미지와 함께 그려집니다.

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

ColorMatrix colorMatrix = {
   1.0f,  0.0f, 0.0f, 0.0f, 0.0f,
   0.0f,  1.0f, 0.0f, 0.0f, 0.0f,
   0.0f,  0.0f, 1.0f, 0.0f, 0.0f,
   0.0f,  0.0f, 0.0f, 1.0f, 0.0f,
   0.75f, 0.0f, 0.0f, 0.0f, 1.0f};
   
imageAttributes.SetColorMatrix(
   &colorMatrix, 
   ColorMatrixFlagsDefault,
   ColorAdjustTypeBitmap);
   
graphics.DrawImage(&image, 10, 10, width, height);

graphics.DrawImage(
   &image, 
   Rect(150, 10, width, height),  // destination rectangle 
   0, 0,        // upper-left corner of source rectangle 
   width,       // width of source rectangle
   height,      // height of source rectangle
   UnitPixel,
   &imageAttributes);

다음 그림에서는 왼쪽에 원본 이미지, 오른쪽에 변환된 이미지를 보여줍니다.

네 개의 색 막대를 보여 주는 일러스트레이션, 다른 색의 동일한 막대

다음 표에서는 빨간색 변환 전후에 네 개의 막대에 대한 색 벡터를 나열합니다. 색 구성 요소의 최댓값은 1이므로, 두 번째 행의 빨간색 구성 요소는 변경되지 않습니다. (마찬가지로 색 구성 요소의 최솟값은 0입니다.)

Original 변역됨
검정색(0, 0, 0, 1) (0.75, 0, 0, 1)
빨간색(1, 0, 0, 1) (1, 0, 0, 1)
녹색(0, 1, 0, 1) (0.75, 1, 0, 1)
파란색(0, 0, 1, 1) (0.75, 0, 1, 1)