91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#畫直線的實現方法

發布時間:2021-06-16 14:36:00 來源:億速云 閱讀:551 作者:chen 欄目:編程語言

本篇內容主要講解“C#畫直線的實現方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#畫直線的實現方法”吧!

C#畫直線的操作有的時候我們會在實際開發遇到這樣的需求,那么C#畫直線是如何實現的呢?這里我們來看看具體的實現代碼,通過代碼的介紹希望對你的開發有所幫助。

C#畫直線實現實例:

//以下是完整代碼,可以直接編譯運行   //-----C#畫直線---------   using System;   using System.Collections.Generic;   using System.Windows.Forms;   using System.Drawing;    namespace q2   {   static class Program   {   /// ﹤summary﹥   /// 應用程序的主入口點。   /// ﹤/summary﹥   [STAThread]   static void Main()   {   Application.EnableVisualStyles();   Application.SetCompatibleTextRenderingDefault(false);   Application.Run(new Form1());   }   }    /// ﹤summary﹥   /// 線條對象   /// ﹤/summary﹥   class Line   {   /// ﹤summary﹥   /// 建立線條對象,并設置起點   /// ﹤/summary﹥   /// ﹤param name="startPoint"﹥此線條的起點﹤/param﹥   public Line(Point startPoint)   {   StartPoint = startPoint;   EndPoint = startPoint;   }   public Point StartPoint = Point.Empty;   public Point EndPoint = Point.Empty;   }    public class DrawPanel : Control   {   public DrawPanel()   {   this.DoubleBuffered = true;   this.SetStyle(  ControlStyles.OptimizedDoubleBuffer |   ControlStyles.ResizeRedraw, true);   }   }    /// ﹤summary﹥   /// C#畫直線之窗口定義   /// ﹤/summary﹥   public class Form1 : Form   {   public Form1()   {   drawPanel.BackColor = Color.White;   drawPanel.Cursor = Cursors.Cross;   drawPanel.Dock = DockStyle.Fill;   drawPanel.MouseDown +=   new MouseEventHandler(drawPanel_MouseDown);   drawPanel.MouseUp +=   new MouseEventHandler(drawPanel_MouseUp);   drawPanel.MouseMove +=   new MouseEventHandler(drawPanel_MouseMove);   drawPanel.Paint +=   new PaintEventHandler(drawPanel_Paint);   Controls.Add(drawPanel);   }    /// ﹤summary﹥   /// C#畫直線之用于保存繪出線條的集合   /// ﹤/summary﹥   private List﹤Line﹥ lines = new List﹤Line﹥();    /// ﹤summary﹥   /// 用于保存當前正在繪制的線條   /// ﹤/summary﹥   private Line drawingLine = null;    /// ﹤summary﹥   /// 用于顯示繪圖的面板組件   /// ﹤/summary﹥   private DrawPanel drawPanel = new DrawPanel();    /// ﹤summary﹥   /// 在繪圖區釋放鼠標,結束當前線條繪制   /// ﹤/summary﹥   /// ﹤param name="sender"﹥﹤/param﹥   /// ﹤param name="e"﹥﹤/param﹥   void drawPanel_MouseUp(object sender, MouseEventArgs e)   {   if (drawingLine == null) return;   drawingLine.EndPoint = e.Location;   drawingLine = null;   }    /// ﹤summary﹥   /// 在繪圖區按下鼠標,開始繪制新線條   /// ﹤/summary﹥   /// ﹤param name="sender"﹥﹤/param﹥   /// ﹤param name="e"﹥﹤/param﹥   void drawPanel_MouseDown(object sender, MouseEventArgs e)   {   drawingLine = new Line(e.Location);   lines.Add(drawingLine);   }   ///C#畫直線  /// ﹤summary﹥   /// 在繪圖區移動鼠標時,如果正在繪制新線條,就更新繪制面板   /// ﹤/summary﹥   /// ﹤param name="sender"﹥﹤/param﹥   /// ﹤param name="e"﹥﹤/param﹥   void drawPanel_MouseMove(object sender, MouseEventArgs e)   {   if(drawingLine != null)   {   drawingLine.EndPoint = e.Location;   drawPanel.Invalidate();   }   }    /// ﹤summary﹥   /// 繪制效果到面板   /// ﹤/summary﹥   /// ﹤param name="sender"﹥﹤/param﹥   /// ﹤param name="e"﹥﹤/param﹥   void drawPanel_Paint(object sender, PaintEventArgs e)   {   Bitmap bp = new Bitmap(  drawPanel.Width, drawPanel.Height); // 用于緩沖輸出的位圖對象   Graphics g = Graphics.FromImage(bp);    g.SmoothingMode =   System.Drawing.Drawing2D.  SmoothingMode.AntiAlias; // 消鋸齒(可選項)    Pen p = new Pen(Color.Black);   foreach (Line line in lines)   {   if (line == drawingLine)   {   // 當前繪制的線條是正在鼠標定位的線條   p.Color = Color.Blue;   }   else   {   p.Color = Color.Black;   }   g.DrawLine(p, line.StartPoint, line.EndPoint);   }   // 將緩沖位圖繪制到輸出   e.Graphics.DrawImage(bp, Point.Empty);   }   }   }  //C#畫直線

到此,相信大家對“C#畫直線的實現方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴彦淖尔市| 八宿县| 龙胜| 九江市| 乐业县| 新田县| 连江县| 康平县| 龙胜| 阳山县| 西乌珠穆沁旗| 吕梁市| 马公市| 万宁市| 明星| 菏泽市| 扎囊县| 东港市| 烟台市| 巴楚县| 鄂托克前旗| 铜梁县| 林芝县| 乌苏市| 万全县| 阿克| 景宁| 湄潭县| 防城港市| 越西县| 廉江市| 九龙县| 金门县| 葫芦岛市| 体育| 隆德县| 于田县| 福安市| 彰化市| 石门县| 武邑县|