您的位置:控制工程论坛网论坛 » 嵌入式系统 » 嵌入式MF代码

常青树

常青树   |   当前状态:在线

总积分:1421  2025年可用积分:0

注册时间: 2008-09-28

最后登录时间: 2012-05-30

空间 发短消息加为好友

嵌入式MF代码

常青树  发表于 2008/10/26 7:39:56      772 查看 0 回复  [上一主题]  [下一主题]

手机阅读

.NET Micro Framework是从底层向上构建起来的,是面向从工业传感器和仪器一直到家庭自动化系统乃至保健监测仪器的诸多小型嵌入式装置的一种.NET解决方案。.NET Micro Framework扩展了Microsoft的嵌入式技术产品,使之能进入基于低成本32bit处理器而且内存、电池电力或者其他资源有限的装置所构成的一块新的市场之中。  

    首先,我们需要了解常用的方法:DrawEllipseDrawImageDrawLineDrawPolygonDrawRectangleDrawText等。

     其次,我们需要USING下面的包:
Microsoft.SPOT;
Microsoft.SPOT.Input;
Microsoft.SPOT.Presentation;
Microsoft.SPOT.Presentation.Controls;
    接着基本代码为:
public class Program : Microsoft.SPOT.Application
    {
        public static void Main()
        {   
            //
创建窗体
            WindowsDrawing win = new WindowsDrawing();
            win.Height = SystemMetrics.ScreenHeight;
            win.Width = SystemMetrics.ScreenWidth;
            //
运行
            new Program().Run(win);
        }
        //
派生一个类并重载
        internal sealed class WindowsDrawing: Window
        {
            public override void OnRender(DrawingContext dc)
            {
                Color c = ColorUtility.ColorFromRGB(125, 0, 255);
                Brush b = new SolidColorBrush(c);
                Pen p = new Pen(c);
                //
设背景为矩形
                dc.DrawRectangle(b, p, 0, 0, Width, Height); 
                //
画椭圆形
                p=new Pen(Color.Black);
                b = new SolidColorBrush(Color.White);
                dc.DrawEllipse(b, p, 55,25, 55,25);
                //
画线
                p = new Pen(ColorUtility.ColorFromRGB(255, 0,0),5);
                dc.DrawLine(p, 55, 25, 100,80);
                //
多边行
                int[] points = { 10, 220, 50, 200, 0, 170, 50, 120, 80, 
110, 90, 100, 55, 200, 60, 220 };
                b = new SolidColorBrush(Color.White);
                p = new Pen(ColorUtility.ColorFromRGB(0, 255,0),3);
                dc.DrawPolygon(b,p, points);
                //
文字
                c= ColorUtility.ColorFromRGB(0, 255, 255);
                dc.DrawText(" http://..";, Resources.GetFont(Resources.FontResources.small), c, 180, 20);
                //
位图 (支持bmp,gif,jpg等格式)
dc.DrawImage(Resources.GetBitmap(
Resources.BitmapResources.SMVP),230,130);
            }
        }
    }

    大家可以看到,用简单的代码,就可以表现MF的绘图能力。

1楼 0 0 回复