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

正文內(nèi)容

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

 

【正文】 實(shí)現(xiàn)每一個(gè)部分 ,最后實(shí)現(xiàn)多機(jī)聯(lián)合繪圖軟件,多臺(tái)計(jì)算機(jī)聯(lián)合制圖。 系統(tǒng)功能調(diào)查 . ...............................................2 系統(tǒng)目標(biāo) . ...................................... .............3 第二章 概要設(shè)計(jì) ..................... 錯(cuò)誤 !未定義書(shū)簽。 隨著計(jì)算機(jī)技術(shù)的發(fā)展和人們的需求,越來(lái)越多的人們選擇計(jì)算機(jī)繪圖軟件 , 了 解 傳統(tǒng)的繪圖軟件的起源、現(xiàn)狀和發(fā)展趨勢(shì);在對(duì)現(xiàn)有的傳統(tǒng)的繪圖軟件進(jìn)行分析比較的基礎(chǔ)上,提出了基于局域網(wǎng)的繪 圖軟件的功能需求,接下來(lái)討論了基于局域網(wǎng)繪圖軟件的開(kāi)發(fā)過(guò)程,著重分析了多機(jī)聯(lián)合制圖通信技術(shù),并給出了詳細(xì)的實(shí)現(xiàn)方法。其中類(lèi)的設(shè)計(jì)主要是由 繪圖對(duì)象類(lèi)設(shè)計(jì)和工具類(lèi)設(shè)計(jì), 用 Microsoft Visual Studio 2021 開(kāi)發(fā)工具 軟件編程來(lái)實(shí)現(xiàn)每一個(gè)部分 ,最后實(shí)現(xiàn)多機(jī)聯(lián)合繪圖軟件,多臺(tái)計(jì)算機(jī)聯(lián)合制圖。多臺(tái)計(jì)算機(jī)在本地的局域網(wǎng)絡(luò)或者固定 IP 的 Inter 上制作同一張圖,制作時(shí)將計(jì)算機(jī)分為主機(jī)和附機(jī)。任何一臺(tái)計(jì)算機(jī)添加或修改一個(gè)圖形時(shí),其結(jié)果都會(huì)立即反映到其他計(jì)算機(jī)上。 多機(jī)聯(lián)合繪圖系統(tǒng)以幾種具有代表性的圖形圖像的繪制方法為主,并不是實(shí)現(xiàn)所有圖形圖像的繪制 。設(shè)計(jì)器中可以實(shí)時(shí)反映變更 ,XAML 中智能感知功能可以提高開(kāi)發(fā)效率。 11 繪圖對(duì)象類(lèi)設(shè)計(jì) 為了統(tǒng)一管理各種繪圖對(duì)象,可以將要繪制的對(duì)象抽象成一個(gè)抽象基類(lèi)DrawObject,其他的繪制對(duì)象則從 DrawObject 繼承,在 擴(kuò)充類(lèi)中,通過(guò)重寫(xiě)DrawObject 類(lèi)的屬性和方法,即可實(shí)現(xiàn)針對(duì)特定的圖形圖像的繪制 。TrackRectangle,TrackText,TracCurve這三個(gè)類(lèi)分別表示矩形,文字,曲線(xiàn)的封裝類(lèi),這三個(gè)類(lèi)中均不實(shí)現(xiàn)繪制方法,而是由其派生類(lèi)實(shí)現(xiàn)。 TrackCurve 是所有以點(diǎn)作為句柄特征的所有曲線(xiàn)類(lèi)的基類(lèi)。 工具類(lèi)設(shè)計(jì) 當(dāng)用戶(hù)使用鼠標(biāo)拖放繪制,選中和移動(dòng)對(duì)象時(shí),都會(huì)用到窗體或控件MouseMove,MouseDown,MouseUp 事件。具體如下。繪制對(duì)象列表由 List 類(lèi)型的字段來(lái)進(jìn)行維護(hù)。對(duì)于附機(jī)來(lái)說(shuō)也是一樣的道理,字符串分為命令部分和參數(shù)部分,命令部分和參數(shù)部分之間以及參數(shù)部分的各個(gè)參數(shù)之間均用逗號(hào)分隔。( 2)通過(guò)發(fā)送 Logout 命令,附機(jī)退出制作。 14 = true。 while () { if ( == false) { ()。 = new Palette()。 SetUserState()。 } } . 1 矩形的繪制 ( 1) 在解決方案管理器中,添加一個(gè)名為 的類(lèi),表示所有圖形圖像的基類(lèi),代碼定義如下; public abstract class DrawObject { private bool selected。 /// summary畫(huà)筆顏色 /summary public Color PenColor 16 { get { return penColor。 } set { penWidth = value。 } } 然后再添加一個(gè)名為 DrawMyRectangle 的類(lèi)文件,表示要繪制的矩形對(duì)象,讓該類(lèi)從 DrawObject 繼承,并重寫(xiě) DrawObject 類(lèi)的 Draw 方法。 } public override void Draw(Graphics g) { Pen pen = new Pen(penColor)。 CC類(lèi)中提供了為圖形圖像對(duì)象分配 ID 的方法。 ()。 if ( == ) { DrawObject w = [index]。 ()。 (w)。主要代碼如下; class ToolRectangle : ToolObject { public ToolRectangle() { } public override void OnMouseDown(Palette palette, MouseEventArgs e) { (palette, e)。 } public override void OnMouseUp(Palette palette, MouseEventArgs e) { if (isNewObjectAdded == false) { return。 //左上角 x坐標(biāo),左上角 y坐標(biāo) ,寬 ,高 ,顏色 ,id ((DrawMyRectangle,{0},{1},{2},{3},{4},{5}, , , , , (), ))。 private ToolType activeTool。 ( 5)雙擊主程序窗體上的矩形按鈕,在其 Click 事件中添加代碼; activeTool=。 } } private void Palette_MouseMove(object sender, MouseEventArgs e) { if ( == || == ) { tools[(int)activeTool].OnMouseMove(this, e)。在 類(lèi)中添加 ListPoint類(lèi)型的對(duì)象PointList,使其保存曲線(xiàn)所經(jīng)過(guò)的點(diǎn)的集合, PointList 中的兩個(gè)相鄰點(diǎn)之間的距離大于指定的長(zhǎng)度。 = 。 } } else { (pen, pts)。 private Point myLastPoint。 DrawMyCurve w = new DrawMyCurve(p, , 2, )。 } public override void OnMouseMove(Palette palette, MouseEventArgs e) { if (isNewObjectAdded == false) 22 { return。 if ( == ) { int dx = 。 } } else { (point)。 ( 3)在主窗體的構(gòu)造函數(shù)內(nèi)添加代碼; tools[(int)] = new ToolCurve()。還有直線(xiàn)的繪制 DrawMyLine是從 TrackCurve繼承的 。 // private Point myLastPoint。 = false。 24 myFirstPoint = myFirstPoint1 = p。 int index = ()。 int distance = (int)(dx * dx + dy * dy)。 } } ()。 if ( != null) { ()。 = matrix。 ()。 DrawMyText w = new DrawMyText(, , , , )。 } Point point = new Point(, )。 } ()。 DrawMyText w = (DrawMyText)[index]。 在 OnMouseMove 事件中,捕獲鼠標(biāo)所在的點(diǎn),當(dāng)鼠標(biāo)當(dāng)前位置與起始點(diǎn)之間的距離能夠顯示文 字時(shí),將該點(diǎn)作為文字的終點(diǎn),同時(shí)計(jì)算文字的角度。 } set { text = value。 } } public TextDialog() { InitializeComponent()。 = false。 } private void buttonFont_Click(object sender, EventArgs e) { ColorDialog c = new ColorDialog()。 } } } ( 4)在主程序窗體 MultiDraw2 的構(gòu)造函數(shù)中,添加代碼: Tools[(int)]=new ToolText()。 = 。 = (Bitmap)()。 = new Bitmap(bitmap)。 } else { //將 bitmap設(shè)置為對(duì)其默認(rèn)的透明色透明 ()。 DrawMyImage w = new DrawMyImage(, , 15, 15, , )。 } (palette, e)。 (())。 //層號(hào),序列化后的字節(jié)數(shù) ((DrawMyImage,{0}, ))。 } } } } ( 3) 在主窗體的構(gòu)造函數(shù)內(nèi)添加代碼; tools[(int)] = new ToolImage()。 = 添加圖像 。 } ( 5)運(yùn)行程序,觀察效果圖,這里文字,矩形,曲線(xiàn),直線(xiàn)和圖像的功能全部實(shí)現(xiàn),整體運(yùn)行效果圖如圖 。在繪制矩形時(shí),在 ToolRectangle 類(lèi)的OnMouseUp 事件中,向主機(jī)發(fā)送 DrawMyRectangle 命令,主機(jī)收到后再將發(fā)送給所有聯(lián)合制圖的計(jì)算機(jī)(包括主機(jī)和所有附機(jī))。 } 導(dǎo)出圖像 通過(guò) Image 類(lèi)的 save 方法將對(duì)象保存為圖片即可實(shí)現(xiàn)導(dǎo)出功能。 (\n導(dǎo)出成功 \n\n導(dǎo)出位置: + fileName)。 實(shí)現(xiàn)打印功能時(shí),首先創(chuàng)建 PrintDocument 類(lèi)的實(shí)例額,設(shè)置掃描打印方式的屬性,然后調(diào)用 Print 方法開(kāi)始打印進(jìn)程。 += new PrintPageEventHandler(printDocument1_PrintPage)。 PrintPreviewDialog p = new PrintPreviewDialog()。 = 。 int x = 。 if ((width / ) (height / ))
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1