2011-08-19 3 views
2

writeablebitmap이 있습니다.Writeablebitmap - 왼쪽으로 1 픽셀 스크롤하는 것이 가장 좋습니다. (일명 memmove는 어디입니까?)

내용을 왼쪽으로 1 픽셀 스크롤하고 맨 오른쪽 열에 새 pixelrow를 채우고 싶습니다.

C++에서는 전체 버퍼 1 픽셀을 왼쪽에 memmove하고 각 라인의 마지막 픽셀을 덮어 씁니다. 그러나 memmove가 없으므로 C#에서 그렇게하는 가장 좋은 방법은 무엇인지 모르겠습니다.

+0

작은 글자 :'WriteableBitMap'은 C#과 관련이 없습니다. 그것은 .NET의 일부입니다. –

답변

-1

새 비트 맵을 만들고 대상 비트 맵 소스에서 섹션을 복사의 drawImage를 사용할 수 있습니다

http://msdn.microsoft.com/en-us/library/aa457087.aspx

을 그리고 수직 사각형 와이드 한 픽셀을 그립니다 FillRectangle를 사용합니다.

+0

정말 느린 것 같습니다. 내 말은, 한 곳 왼쪽에있는 버퍼의 모든 픽셀을 이동시키고 오른쪽에 더 많은 픽셀을 추가하는 것입니다. 초당 60 프레임 이상을하고 싶습니다. 실제로 흥미로운 다른 것들의 처리 능력이 필요합니다. 실시간으로 업데이트하는 비트 맵이 16 개 있다고 가정합니다. 필자가 필요로하는 것은 전체 쓰기 가능 비트 맵 버퍼에 대해 픽셀 1 픽셀 씩 왼쪽으로 이동시키기 위해 memmove를 수행하는 방법입니다. – Pygmy

+0

비트 맵은 직사각형 픽셀 배열입니다. 실제로, 그것은 모든 n 번째 픽셀이 새로운 행을 시작하는 단일 배열입니다. 따라서 이미지를 왼쪽으로 한 픽셀 씩 이동시키는 물리적 인 개념은 없습니다. –

+0

실제로는 1 차원 배열을 사용하여 모든 픽셀을 왼쪽으로 1 픽셀 씩 이동 (이전 픽셀 인덱스라고도 함)하면 이미지 전체가 왼쪽으로 이동하고 맨 오른쪽 열의 픽셀 만 유효하지 않습니다. 그것은 중요한 것이 아니기 때문에 필자는 필자가 어쨌든 덮어 쓰려고하는 칼럼이다. – Pygmy