나는 Bitmap
을 가져 와서 주어진 색상을 다른 색상으로 대체하려는 상황이 있습니다. 내 원래의 계획은 Dictionary<Color, Color>
을 전달한 다음 현재 픽셀이 사전 /지도에 있는지 확인하고 필요한 경우 교체합니다.알파 구성 요소를 무시하는 색상 비교
그러나 원본 이미지에 알파가 있으면 그 알파를 유지하고 싶습니다. 알파 컴포넌트를 무시하고 사전에 색상이 있는지 확인하는 가장 좋은 방법은 수수께끼입니다.
내가 지금까지 함께 왔어요 방법
은 새로운RGBOnlyColor
클래스 또는를 만드는 것입니다 유사한 사용하는 대신 내 사전에
Color
과 그것을보기 전에 나는이에
GetPixel
에서 얻을 색상을 변환합니다. 이것은 상당히 잔인한 것 같습니다. 그래서 내가 더 간단하게하기 위해 놓친 것이 있다면 궁금합니다. ...
또 다른 옵션은 설정하고 검색 할 때 사전의 간단한 확장이 될 ColorMap 클래스를 만드는 것입니다. 알파를 알려진 값으로 설정하여 관련성이 없음을 확인합니다.
아무도 내가 할 수있는 최선의 방법은 무엇입니까? 요약하자면 알파 부분은 그대로두고 이미지의 색상을 바꾸고 싶지만 보이는 것보다 더 어렵습니다 ... :)
D' oh! 물론 그것만큼이나 간단합니다. 사전에 대해 테스트하기 전에 이미지에서 얻은 색상을 수정하는 일조차 내게 발생하지 않았습니다. :) – Chris