新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于WPF的交互式繪圖系統(tǒng)的開發(fā)

基于WPF的交互式繪圖系統(tǒng)的開發(fā)

作者: 時間:2011-07-20 來源:網絡 收藏

是指能為用戶提供操作支持,使用戶通過鼠標、鍵盤和手寫筆等在圖形終端上輸入數(shù)據(jù)和圖形信息,進行,并對生成的圖形進行修改、編輯等操作,設計完成后,保存設計結果,最終在顯示屏或其他外部設備上進行圖形輸出的一整套設計及其應用軟件,在CAD、辦公自動化和其他領域得到了非常廣泛的應用?,F(xiàn)有軟件繪制復雜圖形時會占用大量CPU,消耗大量內存,從而導致界面失去響應。是一個新的編程模型,與傳統(tǒng)GDI/GDI+繪圖模型相比,將CPU和GPU分開來利用,由于GPU的浮點計算能力遠高于CPU,從而保證了大量計算的優(yōu)先性,同時也能最小化CPU 使用率。以DirectX作為核心繪圖函數(shù),DirectX繪圖速度高于GDI/GDI+,能產生更好的視覺效果。對于需要大量浮點運算的圖形圖像來說, WPF是一個很好的選擇。本文介紹了在VS2008環(huán)境下,以WPF為平臺,用C#編寫的一個圖形。
1交互式繪圖的設計
1.1 系統(tǒng)的功能設計

WPF的交互式繪圖系統(tǒng)主要由輸入單元、基本繪圖單元、圖元編輯單元、圖元修改單元、屬性設置單元、輸出單元組成。系統(tǒng)模塊結構圖如圖1所示。

本文引用地址:http://2s4d.com/article/150450.htm

本系統(tǒng)實現(xiàn)了以下功能:
(1)基本圖形元素(點、直線、折線、圓形、圓弧、橢圓、矩形、多邊形、B樣條、閉合B樣條)以及文本的動態(tài)繪制與生成功能;
(2)編輯修改功能:對象的拾取、刪除、復制、鏡像、陣列、移動、旋轉、填充、裁剪,平移縮放視圖,測量封閉區(qū)域的面積;
(3)屬性的設置:包括對圖元的圖層、線型、線寬、顏色;系統(tǒng)的背景色,文字的高度等屬性進行設置;
(4)圖形數(shù)據(jù)文件的讀取、保存、打印等操作。
1.2 平臺的選擇
目前Windows環(huán)境下的圖形程序接口主要有GDI/GDI+、Direct3D、OpenGL、WPF四種。GDI/GDI+通常是一個靜態(tài)的顯示系統(tǒng),只有有限的動畫支持,此外GDI/GDI+只支持二維圖形。OpenGL是一個開放的三維圖形軟件包,由于它是圖形的底層圖形庫,沒有提供幾何實體圖元,不能直接用以描述場景。Direct3D以COM接口形式提供,所以較為復雜,穩(wěn)定性差。WPF是微軟新一代圖形系統(tǒng),運行在.NET Framework 3.0架構下。WPF 的核心是一個與分辨率無關并且向量的呈現(xiàn)引擎,旨在利用現(xiàn)代圖形硬件的優(yōu)勢來最小化 CPU 使用率。在WPF中,底層的圖形技術不再是GDI/GDI+,而是DirectX。
WPF在圖形與界面開發(fā)方面,主要有以下幾個優(yōu)勢[1]:
(1)豐富的繪圖模型與文本模型。不同于以往的逐個像素的繪制,在WPF中可以直接處理基本形狀、文本框以及其他UI元素。
(2)獨立的圖形解析。WPF 圖形系統(tǒng)的基本度量單位是與設備無關的像素,它等于1英寸的 1/96。不管實際的屏幕分辨率是多少,每個與設備無關的像素都會自動縮放,以符合呈現(xiàn)該像素的系統(tǒng)上的每英寸點數(shù) (dpi) 設置。
2交互式繪圖系統(tǒng)的實現(xiàn)
2.1 系統(tǒng)的功能界面

交互式繪圖系統(tǒng)的界面窗口主要由標題欄、菜單欄、工具欄、繪圖區(qū)、工具箱、消息框和狀態(tài)欄組成,如圖2所示。

2.2 系統(tǒng)的功能實現(xiàn)
2.2.1 系統(tǒng)的窗口框架

 WPF包含兩個相互關聯(lián)的編程接口,通常使用可擴展應用程序標記語言 (XAML) 標記實現(xiàn)應用程序的外觀,而使用托管編程語言(代碼隱藏)實現(xiàn)其行為。WPF中的Menu控件、ToolBar控件、StatusBar控件、GroupBox控件、TextBox控件以及Canvas面板[2]分別構成了應用程序主窗口頂端的菜單欄、工具欄、底端的狀態(tài)欄與客戶區(qū)左邊的工具箱、下方的消息框以及繪圖區(qū)。系統(tǒng)使用鼠標和鍵盤輸入來繪制圖形,Canvas 面板是用于創(chuàng)建復雜繪圖的特別理想的選擇,因為它支持對其子對象的絕對定位。框架窗口的邏輯樹簡圖如圖3所示?! ?/p>

2.2.2 圖形的繪制與編輯功能
WPF提供了Shapes庫來顯示矢量圖,WPF中的基本圖形類主要位于System.Windows.Shapes命名空間。Shape類是所有圖形類的基類,它定義了Stroke、StrokeThickness、Fill等通用屬性,用來繪制形狀輪廓的顏色、粗細以及形狀的內部填充。具體的圖形元素類(Line、Path、Polygon、Polyline、Ellipse、Rectangle)都由其派生而來。2D相關類型的層次結構圖如圖4所示。

矢量控制相關文章:矢量控制原理

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉