Pygame의 블렌드 모드는 무엇을 의미합니까?
-
03-07-2019 - |
문제
Surface.blit 1.8 : Blend의 새로운 매개 변수가 있습니다. 다음 값은 정의됩니다.
BLEND_ADD
BLEND_SUB
BLEND_MULT
BLEND_MIN
BLEND_MAX
BLEND_RGBA_ADD
BLEND_RGBA_SUB
BLEND_RGBA_MULT
BLEND_RGBA_MIN
BLEND_RGBA_MAX
BLEND_RGB_ADD
BLEND_RGB_SUB
BLEND_RGB_MULT
BLEND_RGB_MIN
BLEND_RGB_MAX
누군가이 모드가 무엇을 의미하는지 설명 할 수 있습니까?
해결책
블렌드 작업의 소스를 여기에서 찾을 수 있습니다. 표면 .H
기본적으로 두 개의 소스 픽셀을 추가하고 255에서 결과를 클립합니다. 서브는 0에서 두 픽셀과 클립을 빼냅니다.
MULT
: result = (p1 * p2) / 256
MIN
: 각 채널의 낮은 값 (전체 픽셀이 아님)을 선택하십시오. Pixel1이면 (100,10,0)
그리고 pixel2입니다 (0,10,100)
, 당신은 얻습니다 (0,10,0)
MAX
: 최소의 반대 (즉, 즉 (100,10,100)
)
그리고 문서에서는 명백하지 않은 추가 블렌드 모드가 있습니다. 0
(또는 매개 변수를 꺼내십시오). 이 모드는 소스 표면을 대상으로 "스탬프"합니다. 소스 표면에 알파 채널이있는 경우 각 픽셀이 "강한"이 얼마나 "강한지를 결정합니다 (0
= 효과 없음, 255
= 픽셀 복사, 128
: result = .5*source + .5*destination
).
유용한 효과 : 특정 영역을 어둡게하려면 블렌드 모드 0을 사용하고 소스/스탬프 표면을 채우고 알파를 설정하십시오. 10
: (0,0,0,10)
.
그것을 밝게하려면 흰색을 사용하십시오 (255,255,255,10)
.
다른 팁
그것들은 서로 위에 이미지를 합성하기위한 모드를 혼합합니다. 블렌딩 모드의 이름은 이미 기본 작업을 알려줍니다.
그만큼 BLEND_*
상수는 단순히 별명입니다 BLEND_RGB_*
상수와 BLEND_RGBA_*
변형은 RGB와 달리 4 개의 채널 (알파 채널 포함)에서 작동합니다.
다양한 블렌딩 모드와 해당 효과에 대한 일반적인 정보는 여기.