2013年6月13日 星期四

DIY - 智能小車:用 Microsoft Visual C++/CLI 編寫 Radar 程式碼 (三十七)


DIY - 智能小車:用 Microsoft Visual C++/CLI 編寫 Radar 程式碼 (三十七) 

獲得的雷達圖像,首先要實現連接雷達Radar)的動態連結程式庫DLL),然後顯示空白雷達圖像,再使用 ImageUpdateEventArgs.Image 通過觸發 Radar.ImageUpdate 事件,更改繪製雷達類資料。 


雷達圖像程式

主程式:
#pragma once

namespace radar_test {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;

    using namespace Blaney;

    public ref class Form1 : public System::Windows::Forms::Form
    {
Radar^ _radar;
        RadarItem^ item1;

    public:
        Form1(void)
        {
            InitializeComponent();
            item1 = gcnew SquareRadarItem(1, 8, 190, 60);
        }

Form1 Load 程式:
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e)
    {
            Radar^ _radar = gcnew Radar(pictureBox1->Width);
pictureBox1->Image = _radar->Image;
           
_radar->ImageUpdate += gcnew ImageUpdateHandler(this,&Form1::_radar_ImageUpdate);

            _radar->DrawScanInterval = 10;
            _radar->DrawScanLine = true;
            GetTarget(1,8);
            _radar->AddItem(item1);
    }

void _radar_ImageUpdate(System::Object^ sender, ImageUpdateEventArgs^ e)
        {
            pictureBox1->Image = e->Image;
        }

GetTarget程式:
void GetTarget(int rad, int el)
        {
            item1 = gcnew CircleRadarItem(1, 8, rad, el);
        }

2013613 天氣報告
氣溫:24.6 @ 22:10
相對濕度:百分之95%
天氣:微雨

沒有留言:

張貼留言