http://lazyfoo.net/tutorials/SDL/10_color_keying/index.php
위에서 현재 color_keying을 공부하고 있습니다.
겹치는 부분의 이미지 색을 투명하게 blit하는 기능인
SDL_SetColorkey(loadedSurface, SDL_TRUE, SDL_MapRGB(loadedSurface->format, 0, 0xFF, 0xFF));
을 이용합니다. 이것을 이용해 한 화면에 여러가지 이미지를 겹치게 할 수 있습니다.
SDL_MapRGB는 RGB 색으로 한 pixel을 만드는 가장 많이 사용되는 크로스 플랫폼 방식이라고 합니다.
그래서 이 코드를 이용하여 조금씩 변형하여 제가 원하는 이미지를 color keying 해보았습니다.
근데 사진과 같이 화면 하단 오른쪽에 있는 사진에 청록색으로 되어있는 부분이 부분적으로만 지워져있더라구요.
왜 이러는지 궁금합니다.
컴퓨터상으로 생각해봤을 때, 저 이미지의 픽셀의 색들이 완전히 RGB가 0, 255, 255가 아니여서 저런 현상이 일어났을 거 같은데..
저 이미지는 제가 이미지로 누끼따서 배경을 RGB(0,255,255)로 칠한 거거든요. 그런데 왜 이런 현상이 벌어지는지 궁금합니다...
검색해도 잘 안나오는거 같네요 ㅠㅠ