두 개의 WriteableBitmap 객체의 두 가지 색상 값을 결합하여 그 값을 계산해야합니다. 따라서 첫 번째 개체에서 ForEach 루프를 실행하고 두 번째 개체의 색 값과 색 값을 메서드로 구문 분석합니다.WriteableBitmapEx GetPixel()이 잘못된 값을 반환합니다.
writeableBitmap.ForEach((x, y, color) =>
MergePixelColor(color, mergedWriteableBitmap.GetPixel(x, y)));
제 I 대리자로부터 직접 얻을 값이지만 I는 WriteableBitmap 확장에서 getPixel와 방법을 사용하여 제 2 색의 값에 접근한다.
실제로이 작업은 비슷하지만 GetPixel 메서드는 잘못된 데이터를 반환합니다 (색이 잘못되었거나 "red-ish"입니다).
http://forums.silverlight.net/t/250392.aspx/1?WriteableBitmap+GetPixel+
이는 이미지 형식에 문제가있을 수 있음을 언급한다 :
나는 다음 문서를 고개를 발견했다. 내 문제는 이미지가 생성되는 지점에 직접 액세스 할 수 없다는 것입니다. 나는 webservice에서 그것들을 추출하고 그 부분이 (적어도 나에게서) 적응 될 수 있는지 안다.
이 문제를 해결하기위한 다른 방법이나 해결 방법이 있으면 지금 내 질문이 지금입니까? 아이디어가 있습니까?
은 '당신이 ISN 확실 두 가지 색상을 병합하려는 부작용이 있습니까? 그것은 올바르게 수행 할 수있는 과학입니다. 단순히 빨강, 녹색 및 파랑을 결합하는 것이 좋지 않을 수 있습니다. 인간의 눈에는 매우 비선형적인 색상 인식이 있습니다. –
예 MergePixelColor 메서드의 모든 기능을 제외하여이 문제를 테스트했기 때문에 확실합니다. 테스트 목적으로 메소드에 넣은 색상을 반환하고 첫 번째 색상 값이 정확하고 두 번째 색상 값이 정확하면 false입니다. WriteableBitmap에서 데이터를 추출하는 GetPixel 메서드로 무언가를해야합니다. –
@ThomasMondel A 구성 요소에 문제가있는 것 같습니다. Silverlight 용 버전 1.0.2를 사용했습니다. 예를 들어 사각형의 채우기 색을 # c3bcbcbc로 설정하면 직사각형의 실제 색은 # c38f8f8f가됩니다. 더 자세히 살펴 보지 못했지만, Writeablebitmapex Codeplex 사이트에 관심을 게시하는 것이 좋지 않을 수도 있습니다. –