2014-04-10 3 views
0

나는 STM32F405RGT6에서 Display N18에 비트 맵을 그릴려고 실행 (나는이 FEZ Cerberus에 비슷한 생각) NetMF 4.2그리기 비트 맵 조각은 4.2

언제 따르려고 시도 the instructions for drawing a bitmap fragment to the N18 display 어떤 비트 깊이를 사용해야할지 모르겠습니다. 명령은 기본적으로 24 비트에서 비트 맵을 저장하는 Paint를 사용하지만 나중에 바이트 배열 크기 계산 byte[] newRender = new byte[128 * 160 * 2];을 사용하면 코드가 16 비트 여야한다고 생각합니다. N18에서 예상하는 비트 깊이는 얼마입니까?

샘플 코드를 실행하면 오류가 발생합니다. 나는이 에러가 발생합니까 내가 그것을 어떻게 수정해야하는 이유

An unhandled exception of type 'System.NotSupportedException' occurred in Microsoft.SPOT.Graphics.dll

:

var tdata = Resources.GetBytes(Resources.BinaryResources.yes_no); 
var picture = new Bitmap(tdata, Bitmap.BitmapImageType.Bmp); 
var newRender = new byte[13*79*2]; 
Array.Copy(newRender, picture.GetBitmap(), newRender.Length); 
_display.DrawRaw(newRender, 13, 79, 50, 50); 

두 번째 줄은 오류가 발생합니다?

답변

0

이상 on the GHI forum 답변을 얻었습니다. https://www.ghielectronics.com/community/codeshare/entry/744의 코드 조각을 사용하여 비트 맵을 필요한 바이트 형식으로 변환 할 수 있습니다. 이렇게하면 공간도 절약됩니다. 제공된 사용 코드는 TinyBitmap이 GHI 인터페이스에서 삭제되어 다음 줄과 일치해야합니다. taylorza은 그의 샘플에 다음 수정 사항을 제공합니다.

var tdata = Resources.GetBytes(Resources.BinaryResources.yes_no); 
_display.DrawRaw(tdata, 13, 79, 50, 50);