문제

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 개의 채널 (알파 채널 포함)에서 작동합니다.

다양한 블렌딩 모드와 해당 효과에 대한 일반적인 정보는 여기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top