freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于c多機(jī)聯(lián)合繪圖軟件的實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文-在線瀏覽

2025-05-01 09:03本頁面
  

【正文】 系統(tǒng)功能調(diào)查 . ...............................................2 系統(tǒng)目標(biāo) . ...................................... .............3 第二章 概要設(shè)計(jì) ..................... 錯(cuò)誤 !未定義書簽。 主機(jī)與附機(jī)的連接 ..................... 錯(cuò)誤 !未定義書簽。 隨著計(jì)算機(jī)技術(shù)的發(fā)展和人們的需求,越來越多的人們選擇計(jì)算機(jī)繪圖軟件 , 了 解 傳統(tǒng)的繪圖軟件的起源、現(xiàn)狀和發(fā)展趨勢;在對現(xiàn)有的傳統(tǒng)的繪圖軟件進(jìn)行分析比較的基礎(chǔ)上,提出了基于局域網(wǎng)的繪 圖軟件的功能需求,接下來討論了基于局域網(wǎng)繪圖軟件的開發(fā)過程,著重分析了多機(jī)聯(lián)合制圖通信技術(shù),并給出了詳細(xì)的實(shí)現(xiàn)方法。 隨著計(jì)算機(jī)性能的提高和計(jì)算機(jī)視覺理論及技術(shù)的發(fā)展,這種技術(shù)必將日趨成熟。其中類的設(shè)計(jì)主要是由 繪圖對象類設(shè)計(jì)和工具類設(shè)計(jì), 用 Microsoft Visual Studio 2021 開發(fā)工具 軟件編程來實(shí)現(xiàn)每一個(gè)部分 ,最后實(shí)現(xiàn)多機(jī)聯(lián)合繪圖軟件,多臺(tái)計(jì)算機(jī)聯(lián)合制圖。 系統(tǒng)功能調(diào)查 整個(gè)系統(tǒng)從總體上分為類的設(shè)計(jì) ,聯(lián)機(jī)操作兩大部分,系統(tǒng)應(yīng)實(shí)現(xiàn)的功能如下 圖 多機(jī)聯(lián)合繪圖系統(tǒng) 類的設(shè)計(jì) 聯(lián)機(jī)操作 繪圖對象類的設(shè)計(jì) 工具類的設(shè)計(jì) 其他類的設(shè)計(jì) 主機(jī)和附機(jī)的連接 附機(jī)和主機(jī)的連接 聯(lián)機(jī)繪圖 9 系統(tǒng)目標(biāo) 利用 Microsoft Visual Studio 2021 通過類的設(shè)計(jì)實(shí)現(xiàn)單機(jī)繪圖,該系統(tǒng)實(shí)現(xiàn)矩形,曲線,直線,文字,圖像的繪制,再通過聯(lián)機(jī)操作,實(shí)現(xiàn)主機(jī)和附機(jī)的連接,最后實(shí)現(xiàn)多機(jī)聯(lián)合繪圖。多臺(tái)計(jì)算機(jī)在本地的局域網(wǎng)絡(luò)或者固定 IP 的 Inter 上制作同一張圖,制作時(shí)將計(jì)算機(jī)分為主機(jī)和附機(jī)。將某臺(tái)計(jì)算機(jī)作為主機(jī)后 ,連接到該機(jī)的其他同時(shí)制圖的計(jì)算機(jī)便只能作為附機(jī)。任何一臺(tái)計(jì)算機(jī)添加或修改一個(gè)圖形時(shí),其結(jié)果都會(huì)立即反映到其他計(jì)算機(jī)上。只有當(dāng)主機(jī)進(jìn)入制作界面之后,其他附機(jī)才能進(jìn)入制作界面。 多機(jī)聯(lián)合繪圖系統(tǒng)以幾種具有代表性的圖形圖像的繪制方法為主,并不是實(shí)現(xiàn)所有圖形圖像的繪制 。 VS2021 引入了 250 多個(gè)新特性,整合了對象、關(guān)系型數(shù)據(jù)、 XML 的訪問方式 ,語言更加簡潔。設(shè)計(jì)器中可以實(shí)時(shí)反映變更 ,XAML 中智能感知功能可以提高開發(fā)效率。 Visual Studio 2021 可以高效開發(fā) Web應(yīng)用,集成了 AJAX ,包含 AJAX 項(xiàng)目模板,它還可以高效開發(fā) Office 應(yīng)用和Mobile 應(yīng)用。 11 繪圖對象類設(shè)計(jì) 為了統(tǒng)一管理各種繪圖對象,可以將要繪制的對象抽象成一個(gè)抽象基類DrawObject,其他的繪制對象則從 DrawObject 繼承,在 擴(kuò)充類中,通過重寫DrawObject 類的屬性和方法,即可實(shí)現(xiàn)針對特定的圖形圖像的繪制 。 在圖 中, DrawObject 是所要繪制對象的抽象基類,在該類中定義繪圖對象的公共屬性和方法。TrackRectangle,TrackText,TracCurve這三個(gè)類分別表示矩形,文字,曲線的封裝類,這三個(gè)類中均不實(shí)現(xiàn)繪制方法,而是由其派生類實(shí)現(xiàn)。在這個(gè)列子中, DrawMyRectangle 從 TrackRectangle 繼承表示矩形, DrawMyImage 從TrackRectangle 繼承表示繪制圖像。 TrackCurve 是所有以點(diǎn)作為句柄特征的所有曲線類的基類。 DrawMyCurve 從TrackCurve 繼承表示繪制的是帶有箭頭的曲線。 工具類設(shè)計(jì) 當(dāng)用戶使用鼠標(biāo)拖放繪制,選中和移動(dòng)對象時(shí),都會(huì)用到窗體或控件MouseMove,MouseDown,MouseUp 事件。類ToolRectangle,ToolCurve,ToolText,ToolImage,ToolPointer 分別表示繪制矩形,曲線,文字,圖像和平移圖形圖像時(shí)對應(yīng)的鼠標(biāo)控制操作類,他們均從 ToolObject派生。具體如下。 ( 2) CC 類提供系統(tǒng)公用的屬性和方法定義。繪制對象列表由 List 類型的字段來進(jìn)行維護(hù)。 ( 5) MyClient 類封裝附機(jī)的相關(guān)信息,提供附機(jī)向主機(jī)發(fā)送信息以及從主機(jī)接收信息的相關(guān)處理方法。對于附機(jī)來說也是一樣的道理,字符串分為命令部分和參數(shù)部分,命令部分和參數(shù)部分之間以及參數(shù)部分的各個(gè)參數(shù)之間均用逗號分隔。 a. 附機(jī)發(fā)送給主機(jī)的命令:( 1)通過發(fā)送 Login 命令,附機(jī)與主機(jī)建立連接后,進(jìn)入操作界面。( 2)通過發(fā)送 Logout 命令,附機(jī)退出制作。( 3)通過 GetID 命令來獲取圖形圖像的唯一的 ID. b. 主機(jī)發(fā)給附機(jī)的命令:( 1)通過 ID命令,主機(jī)返回給圖像圖形的 ID( 2)通過Logout 命令,主機(jī)退出制作 c. 主機(jī) IP的確立核心代碼如下: IPAddress ip。 14 = true。 } else { = 正在連接主機(jī),請稍等?? 。 while () { if ( == false) { ()。 圖 其主要通過菜單來實(shí)現(xiàn)下跳到其他窗體,通過菜單實(shí)現(xiàn)鏈接不同窗體 其核心代碼如下; 15 public partial class MainForm : Form { public MainForm() { InitializeComponent()。 = new Palette()。 ()。 SetUserState()。 if ( == || == ) { ()。 } } . 1 矩形的繪制 ( 1) 在解決方案管理器中,添加一個(gè)名為 的類,表示所有圖形圖像的基類,代碼定義如下; public abstract class DrawObject { private bool selected。 } set { selected = value。 /// summary畫筆顏色 /summary public Color PenColor 16 { get { return penColor。 } } protected int penWidth = 2。 } set { penWidth = value。 public int ID { get { return id。 } } 然后再添加一個(gè)名為 DrawMyRectangle 的類文件,表示要繪制的矩形對象,讓該類從 DrawObject 繼承,并重寫 DrawObject 類的 Draw 方法。 = penColor。 } public override void Draw(Graphics g) { Pen pen = new Pen(penColor)。 ()。 CC類中提供了為圖形圖像對象分配 ID 的方法。 ToolObject 類的主要代碼如下; class ToolObject { protected bool isNewObjectAdded = false。 ()。 } Point point = new Point(, )。 if ( == ) { DrawObject w = [index]。 } ()。 ()。 } /// summary /// 添加新的圖形對象 /// /summary protected void AddNewObject(Palette palette, DrawObject w) { ()。 (w)。 ()。主要代碼如下; class ToolRectangle : ToolObject { public ToolRectangle() { } public override void OnMouseDown(Palette palette, MouseEventArgs e) { (palette, e)。 AddNewObject(palette, w)。 } public override void OnMouseUp(Palette palette, MouseEventArgs e) { if (isNewObjectAdded == false) { return。 if ( != ) { int index = ()。 //左上角 x坐標(biāo),左上角 y坐標(biāo) ,寬 ,高 ,顏色 ,id ((DrawMyRectangle,{0},{1},{2},{3},{4},{5}, , , , , (), ))。 } } } } (4)在 中定義一個(gè) ToolType 枚舉,表示繪制圖形圖像的類型;再定義一個(gè) ToolObject 類型的 activeTool 對象,表示當(dāng)前的活動(dòng)對象;然后定義 19 一個(gè) ToolObject 類型的 tools 數(shù)組,表示所有鼠標(biāo)操作類。 private ToolType activeTool。 =。 ( 5)雙擊主程序窗體上的矩形按鈕,在其 Click 事件中添加代碼; activeTool=。 if ( == ) { tools[(int)activeTool].OnMouseDown(this, e)。 } } private void Palette_MouseMove(object sender, MouseEventArgs e) { if ( == || == ) { tools[(int)activeTool].OnMouseMove(this, e)。 } } 20 private void Palette_MouseUp(object sender, MouseEventArgs e) { if ( == ) { tools[(int)activeTool].OnMouseUp(this, e)。在 類中添加 ListPoint類型的對象PointList,使其保存曲線所經(jīng)過的點(diǎn)的集合, PointList 中的兩個(gè)相鄰點(diǎn)之間的距離大于指定的長度。 (pts)。 = 。 = myArrow。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1