몇 시간 동안 문자 그대로 시도했지만이 문제를 해결할 수 없었습니다.WriteableBitmap 오류가 잘못되었습니다. 픽셀 배열이 매우 부정확합니다.
나는 800x369 인 UserControl을 가지고 있으며 단순히 월드 맵을 구성하는 경로를 포함하고 있습니다. 이것을 가로보기 페이지에 놓은 다음 WriteableBitmap으로 렌더링합니다. 그런 다음 1 차원 픽셀 배열을 2 차원 정수 배열로 바꾸기 위해 변환을 실행합니다. 그런 다음 변환을 확인하기 위해 사용자 정의 컨트롤의 click 명령을 연결하여 새로 만든 배열의 사용자 정의 컨트롤에 상대적인 Point.X 및 Point.Y를 사용합니다. 내 논리는 이렇게이다, 나는 검사를 수행 할 때, 나는 완전히 완전히 이상한 결과를 얻을 이제
public static int[,] To2DArray(this int[] arr,int rowLength)
{
int[,] output = new int[rowLength, arr.Length/rowLength];
if (arr.Length % rowLength != 0) throw new IndexOutOfRangeException();
for (int i = 0; i < arr.Length; i++)
{
output[i % rowLength, i/rowLength] = arr[i];
}
return output;
}
: 분명히 모든 픽셀 중 하나 값에있는 같은
wb = new WriteableBitmap(worldMap, new TranslateTransform());
wb.Invalidate();
intTest = wb.Pixels.To2DArray(wb.PixelWidth);
내 변환 로직은 -1 또는 0이며,이 값은 완전 독립 원래 색상입니다. 다만 후손에 대한
는 :
private void Check(object sender, MouseButtonEventArgs e)
{
Point click = e.GetPosition(worldMap);
ChangeNotification(intTest[(int)click.X,(int)click.Y].ToString());
}
결과보기 WriteableBitmap 그것으로 렌더링 한 경로에 전혀 상관 관계 : 여기 내 검사 코드입니다. 경로에는 흰색이 채워집니다.
도대체 무슨 일이 벌어지고 있습니까? 나는 운이없는 몇 시간 동안 노력했다. 제발, 제 WP7 앱을 제출하지 못하게하는 주요한 문제입니다. 어떤 지침?
프로젝트를 압축하십시오. – Hades32
포기했습니다. 코드를 더 이상 사용할 수 없습니다. 가까운 투표를 할 수 있습니까? –