将位图片段绘制到中的显示N18模块.净MF 4.2



我正试图从运行NetMF 4.2 的STM32F405RGT6(我认为这与FEZ Cerberus上的位图类似)绘制位图到Display N18

当我试图按照说明在N18显示器上绘制位图片段时,我不确定该使用什么比特深度。说明建议使用Paint,它默认情况下将位图保存为24位,但在代码的后面,字节数组大小计算byte[] newRender = new byte[128 * 160 * 2];使我认为它应该是16位。N18期望的钻头深度是多少?

当我运行示例代码时,我得到一个错误。

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);

第二行抛出错误:

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

我为什么会出现这个错误,我应该如何修复它?

在GHI论坛上,我得到了答案。我可以在中使用代码片段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); 

最新更新