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

正文內(nèi)容

基于c_多機(jī)聯(lián)合繪圖軟件的實(shí)現(xiàn)畢業(yè)設(shè)計論-資料下載頁

2025-06-07 14:13本頁面
  

【正文】 = 。 = 南昌航空大學(xué)科技學(xué)院 。 } private void buttonFont_Click(object sender, EventArgs e) { ColorDialog c = new ColorDialog()。 if (() == ) { _color = 。 = _color。 } } private void buttonOK_Click(object sender, EventArgs e) { text = 。 } } } ( 4)在主程序窗體 MultiDraw2 的構(gòu)造函數(shù)中,添加代碼: Tools[(int)]=new ToolText()。 (5)在主窗體上,雙擊文字按鈕,在其 Click 事件中添加如下代碼; TextDialog td = new TextDialog()。 if (() == ) { = 。 = 。 = 。 } ( 6) 運(yùn)行程序,單擊 [文字 ]按鈕,再彈出的窗口中輸入繪制的文字,然后在右邊南昌航空大學(xué) 科技學(xué)院 學(xué)士學(xué)位論文 29 的框中用鼠標(biāo)拖動繪制一些文字,運(yùn)行效果如圖 a. 選擇文字的顏色 b. 繪制任意大小和方向的文字 圖 南昌航空大學(xué) 科技學(xué)院 學(xué)士學(xué)位論文 30 繪制任意大小的圖像 ( 1)在解決方案資源管理器中,添 加一個名為 的類,使其從DrawRectangle 類派生,主要代碼如下; class DrawMyImage : TrackRectangle { private Bitmap originalBitmap。 public override DrawObject Clone() { DrawMyImage w = new DrawMyImage()。 = 。 = (Bitmap)()。 AddOtherFields(w)。 return w。 } public DrawMyImage() { } public DrawMyImage(int x, int y, int width, int height, Bitmap bitmap, int id) { = new Rectangle(x, y, width, height)。 = new Bitmap(bitmap)。 = id。 } public override void Draw(Graphics g) { if (originalBitmap == null) { Pen p = new Pen(, 1f)。 (p, objRectangle)。 } else { //將 bitmap設(shè)置為對其默認(rèn)的透明色透明 ()。 (originalBitmap, objRectangle, 0, 0, , , )。 } } 南昌航空大學(xué) 科技學(xué)院 學(xué)士學(xué)位論文 31 ( 2)在解決方案管理器中添加一個名為 ,使其從 ToolObjiect類派生。具體代碼如下; class ToolImage : ToolObject { public override void OnMouseDown(Palette palette, MouseEventArgs e) { (palette, e)。 DrawMyImage w = new DrawMyImage(, , 15, 15, , )。 AddNewObject(palette, w)。 isNewObjectAdded = true。 } public override void OnMouseUp(Palette palette, MouseEventArgs e) { if (isNewObjectAdded == false) { return。 } (palette, e)。 int index = ()。 DrawMyImage w = (DrawMyImage)[index]。 if ( != ) { GraphicsList myGraphicsList = new GraphicsList()。 (())。 //序列化 try { using (MemoryStream stream = new MemoryStream()) { IFormatter formatter = new BinaryFormatter()。 (stream, myGraphicsList)。 byte[] bytes = ()。 //層號,序列化后的字節(jié)數(shù) ((DrawMyImage,{0}, ))。 (bytes)。 } } catch (Exception err) { (, 序列化失敗 )。 } 南昌航空大學(xué) 科技學(xué)院 學(xué)士學(xué)位論文 32 ()。 } } } } ( 3) 在主窗體的構(gòu)造函數(shù)內(nèi)添加代碼; tools[(int)] = new ToolImage()。 ( 4)在主窗體上雙擊曲線按鈕,在對應(yīng)的 Click 事件中添加如下代碼; OpenFileDialog f = new OpenFileDialog()。 = false。 = true。 = 添加圖像 。 = JPEG (*.jpg)|*.jpg|Bitmap (*.bmp)|*.bmp|PNG (*.png)|*.png|GIF (*.gif)|*.gif|All files|*.*。 if (() == ) { = (Bitmap)(, true)。 = 。 } ( 5)運(yùn)行程序,觀察效果圖,這里文字,矩形,曲線,直線和圖像的功能全部實(shí)現(xiàn),整體運(yùn)行效果圖如圖 。 圖 南昌航空大學(xué) 科技學(xué)院 學(xué)士學(xué)位論文 33 聯(lián)機(jī)操作 多臺計算機(jī)同時控制繪圖時,應(yīng)該保證每臺計算機(jī)看到的繪圖界面是一致的。每臺計算機(jī)繪制圖形圖像或者對繪圖對象進(jìn)行操作時,通過向主機(jī)發(fā)送命令,再又主機(jī)發(fā)送給其他附機(jī),從而實(shí)現(xiàn)多機(jī)的同步 。 主機(jī)與附機(jī)的連接 下面可以在初始化模板中一個作為主機(jī)另一個作為附機(jī)由 圖 可知,有一臺主機(jī),附機(jī)可多臺,這里為了簡化起見也只弄了一臺附機(jī),在圖上也看到與 主機(jī)連接的用戶數(shù)為 1. 圖 主機(jī)與附機(jī)的連接 具體連接方法可參照 那節(jié)的具體連接構(gòu)思 主機(jī)與附機(jī)聯(lián)合繪圖 聯(lián)合繪圖效果圖如圖 所示; 南昌航空大學(xué) 科技學(xué)院 學(xué)士學(xué)位論文 34 圖 多機(jī)聯(lián)合繪圖 效果實(shí)現(xiàn)的方法 就拿矩形列舉吧。在繪制矩形時,在 ToolRectangle 類的OnMouseUp 事件中,向主機(jī)發(fā)送 DrawMyRectangle 命令,主機(jī)收到后再將發(fā)送給所有聯(lián)合制圖的計算機(jī)(包括主機(jī)和所有附機(jī))。所有計算機(jī)收到命令后,再統(tǒng)一實(shí)現(xiàn)矩形的繪制。這樣一來,即可確保 所有的計算機(jī)看到的界面都是一致的 其他功能的實(shí)現(xiàn) 編輯主要有兩個功能,一是用來選擇對象 二是用來刪除選擇對象,如圖 所示 圖 編輯 南昌航空大學(xué) 科技學(xué)院 學(xué)士學(xué)位論文 35 實(shí)現(xiàn)代碼如下; private void 刪除 ToolStripMenuItem_Click(object sender, EventArgs e) { ()。 } private void 全部選擇 ToolStripMenuItem_Click(object sender, EventArgs e) { ()。 } 導(dǎo)出圖像 通過 Image 類的 save 方法將對象保存為圖片即可實(shí)現(xiàn)導(dǎo)出功能。如圖 所示 圖 導(dǎo)出圖片 實(shí)現(xiàn)導(dǎo)出圖片功能的代碼如下; private void 導(dǎo)出圖片 ToolStripMenuItem_Click(object sender, EventArgs e) { Bitmap myBitmap = DrawImage()。 string fileName = + \\。 (fileName, )。 (\n導(dǎo)出成功 \n\n導(dǎo)出位置: + fileName)。 } 圖像的打印和預(yù)覽 打印功能的實(shí)現(xiàn)主要用到 PrintPreviewDialog 對話框和 PrintDocument 類其中,PrintPreviewDialog 實(shí) 現(xiàn) 打 印 預(yù) 覽 功 能 , PrintDocument 實(shí)現(xiàn)打印功能。PrintPreviewDialog 對話框表示包含從 Windowns 窗體應(yīng)用程序中進(jìn)行打印的PrintPreviewControl 的對話框體。 PrintDocument 類定義一個可再次使用的對象,該對象將輸出發(fā)送到打印機(jī) 。 實(shí)現(xiàn)打印功能時,首先創(chuàng)建 PrintDocument 類的實(shí)例額,設(shè)置掃描打印方式的屬性,然后調(diào)用 Print 方法開始打印進(jìn)程。在 PrintDocument 的 PrintPage 事件中,通過 PrintPageEventArgs 中包含的 Graphics 對象,處理指定的打印輸出。 如圖 所示 南昌航空大學(xué) 科技學(xué)院 學(xué)士學(xué)位論文 36 圖 圖片的打印預(yù)覽 實(shí)現(xiàn)的關(guān)鍵代碼如下; private MemoryStream streamToPrint。 private void 打印預(yù)覽 ToolStripMenuItem_Click(object sender, EventArgs e) { PrintDocument printDocument1 = new PrintDocument()。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1