RGB 이미지 (전경 이미지)를 RGB 이미지 (배경 이미지)에 알파 블렌드 작업을 시도하고 있습니다. 그러나 그렇게하는 동안 잘못된 알파 블렌딩 작업을 수행하거나 잘못 수행했을 수 있습니다. 예를 들어, 내 RGB 이미지의 픽셀은 칙칙한 색 (127, 127, 127)입니다. 픽셀에 대한 내 RGBA 이미지의 픽셀은 (0, 0, 255)입니다. 블렌드 작업을 마친 후 최종 색상은 (127, 0, 255)가됩니다. 그러나, 나는 그것이 부가적인 블렌드이고 내가하는 작업과 다른 것이라고 생각했다. 내 값을 설정하는 방법에 대해서는RGBA 픽셀을 RGB 픽셀로 수동으로 알파 블렌딩
, 나는 것, 알파 없음으로 픽셀이
float incAlpha = (currentPixelColor[3]/255.0f);
float red = ((float)incPixelColor[0]/255.0f * incAlpha) + ((float)currentPixelColor[0]/255.0f);
float green = ((float)incPixelColor[1]/255.0f * incAlpha) + ((float)currentPixelColor[1]/255.0f);
float blue = ((float)incPixelColor[2]/255.0f * incAlpha) + ((float)currentPixelColor[2]/255.0f);
currentPixelColor[0] = min(red * 255, 255.0f);
currentPixelColor[1] = min(green * 255, 255.0f);
currentPixelColor[2] = min(blue * 255, 255.0f);
살펴보고, 내 계산이 설정 방법은이
incPixelColor[0] = 0; (red)
incPixelColor[1] = 0; (green)
incPixelColor[2] = 255; (blue)
incPixelColor[3] = 255; (alpha)
currentPixelColor[0] = 127; (red)
currentPixelColor[1] = 127; (green)
currentPixelColor[2] = 127; (blue)
를 살펴 값이 (0, 0, 255) 인 경우 알파가 포함 된 이미지의 경우 해당 값을 혼합하고 싶습니다. 위 작업의 끝에서 (127, 127, 255)가됩니다. 모든 픽셀에 대해 알파가 있는지 확인해야합니까? 그렇다면 블렌드를 수행하거나 다른 방법이 있습니까?
첨가제 혼합을 수행하고 있습니다. 다음과 같이 선형 믹싱을 고려하십시오. y = (x0 * w) + (x1 * (1-w)) –
작업이 정규화를 유지하는 경우에는 필요하지 않습니다. – fche