使用System.Drawing繪制基本幾何圖形

1.使用System.Drawing繪制一個正方形

using System;
using System.Drawing;
using System.Windows.Forms;public partial class MyForm : Form
{public MyForm(){// 你可以在這里設置Form的雙緩沖,以避免繪制時出現的閃爍  this.DoubleBuffered = true;}protected override void OnPaint(PaintEventArgs e){base.OnPaint(e);// 創建一個Pen對象,用于繪制正方形  using (Pen pen = new Pen(Color.Black, 2)) // 你可以更改顏色和線條寬度  {// 設置正方形的位置和大小  // 在這個例子中,我們從(50, 50)開始,大小為100x100  Rectangle rect = new Rectangle(50, 50, 100, 100);// 使用Graphics對象的DrawRectangle方法來繪制正方形  e.Graphics.DrawRectangle(pen, rect);}}[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new MyForm());}
}

?

2.?使用System.Drawing繪制一個長方形

using System;
using System.Drawing;
using System.Windows.Forms;public partial class MyForm : Form
{public MyForm(){// 你可以在這里設置Form的雙緩沖,以避免繪制時出現的閃爍  this.DoubleBuffered = true;}protected override void OnPaint(PaintEventArgs e){base.OnPaint(e);// 創建一個Pen對象,用于繪制長方形  using (Pen pen = new Pen(Color.Black, 2)) // 你可以更改顏色和線條寬度  {// 設置長方形的位置和大小  // 在這個例子中,我們從(50, 50)開始,寬度為200,高度為100  Rectangle rect = new Rectangle(50, 50, 200, 100);// 使用Graphics對象的DrawRectangle方法來繪制長方形  e.Graphics.DrawRectangle(pen, rect);}}[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new MyForm());}
}

3.使用System.Drawing繪制一個圓形

using System;
using System.Drawing;
using System.Windows.Forms;public partial class MyForm : Form
{public MyForm(){// 你可以在這里設置Form的雙緩沖,以避免繪制時出現的閃爍  this.DoubleBuffered = true;}protected override void OnPaint(PaintEventArgs e){base.OnPaint(e);// 創建一個Pen對象,用于繪制圓形的邊框  using (Pen pen = new Pen(Color.Black, 2)) // 你可以更改顏色和線條寬度  {// 創建一個Brush對象,用于填充圓形(如果需要的話)  using (Brush brush = new SolidBrush(Color.LightBlue)) // 你可以更改填充顏色  {// 設置圓形的位置和大小  // 在這個例子中,圓心在(100, 100),半徑為50  int centerX = 100;int centerY = 100;int radius = 50;// 繪制圓形的邊框(使用DrawEllipse方法)  e.Graphics.DrawEllipse(pen, centerX - radius, centerY - radius, 2 * radius, 2 * radius);// 如果你想要填充圓形,可以使用FillEllipse方法  // e.Graphics.FillEllipse(brush, centerX - radius, centerY - radius, 2 * radius, 2 * radius);  }}}[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new MyForm());}
}

?

4.使用System.Drawing繪制一個三角形?

using System;
using System.Drawing;
using System.Windows.Forms;public partial class MyForm : Form
{public MyForm(){// 你可以在這里設置Form的雙緩沖,以避免繪制時出現的閃爍  this.DoubleBuffered = true;}protected override void OnPaint(PaintEventArgs e){base.OnPaint(e);// 創建一個Pen對象,用于繪制三角形的邊  using (Pen pen = new Pen(Color.Black, 2)) // 你可以更改顏色和線條寬度  {// 設置三角形的三個頂點  Point point1 = new Point(50, 50);Point point2 = new Point(150, 50);Point point3 = new Point(100, 150);// 繪制三條線以構成三角形  e.Graphics.DrawLine(pen, point1, point2);e.Graphics.DrawLine(pen, point2, point3);e.Graphics.DrawLine(pen, point3, point1);}}[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new MyForm());}
}

?

5.使用System.Drawing繪制一個五角星?

using System;
using System.Drawing;
using System.Windows.Forms;public partial class MyForm : Form
{public MyForm(){// 你可以在這里設置Form的雙緩沖,以避免繪制時出現的閃爍  this.DoubleBuffered = true;}protected override void OnPaint(PaintEventArgs e){base.OnPaint(e);// 創建一個Pen對象,用于繪制五角星  using (Pen pen = new Pen(Color.Black, 2)) // 你可以更改顏色和線條寬度  {// 設定五角星的中心點  int centerX = 100;int centerY = 100;// 設定五角星的外接圓半徑  int radius = 50;// 設定五角星的旋轉角度(如果需要)  double rotateAngle = Math.PI / 2; // 從上頂點開始  // 計算五角星的五個頂點  PointF[] starPoints = CalculateStarPoints(centerX, centerY, radius, 5, rotateAngle);// 繪制五角星  for (int i = 0; i < starPoints.Length; i++){int nextIndex = (i + 1) % starPoints.Length;e.Graphics.DrawLine(pen, starPoints[i], starPoints[nextIndex]);}}}// 計算五角星的頂點  private PointF[] CalculateStarPoints(float centerX, float centerY, float radius, int spikes, double rotation){PointF[] result = new PointF[spikes];double outerRadius = radius; // 外接圓半徑  double innerRadius = radius * 0.5f * Math.Sqrt(3); // 內接圓半徑(五角星的特殊值)  double angle = Math.PI / 2 * 3 - spikes * Math.PI / spikes; // 第一個頂點的角度  for (int i = 0; i < spikes; i++){result[i].X = (float)(centerX + Math.Cos(angle + rotation) * outerRadius);if (i % 2 == 0){result[i].Y = (float)(centerY + Math.Sin(angle + rotation) * outerRadius);}else{result[i].Y = (float)(centerY + Math.Sin(angle + rotation) * innerRadius);}angle += Math.PI / spikes;}return result;}[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new MyForm());}
}

?

6.使用System.Drawing繪制一個圓外切三角形?

using System;
using System.Drawing;
using System.Windows.Forms;public partial class MyForm : Form
{public MyForm(){// 你可以在這里設置Form的雙緩沖,以避免繪制時出現的閃爍  this.DoubleBuffered = true;}protected override void OnPaint(PaintEventArgs e){base.OnPaint(e);// 定義三角形的邊長  int sideLength = 100;// 計算外接圓的半徑  double radius = sideLength / (2 * Math.Sqrt(3));// 設定外接圓的中心點和三角形的中心點  int centerX = this.ClientSize.Width / 2;int centerY = this.ClientSize.Height / 2;// 計算三角形的頂點  PointF[] trianglePoints = CalculateEquilateralTrianglePoints(centerX, centerY, sideLength);// 繪制外接圓  using (Pen circlePen = new Pen(Color.Blue, 2)){e.Graphics.DrawEllipse(circlePen, centerX - (int)radius, centerY - (int)radius, (int)(radius * 2), (int)(radius * 2));}// 繪制三角形  using (Pen trianglePen = new Pen(Color.Black, 2)){e.Graphics.DrawLines(trianglePen, trianglePoints);}}// 計算等邊三角形的三個頂點  private PointF[] CalculateEquilateralTrianglePoints(int centerX, int centerY, int sideLength){PointF[] points = new PointF[3];double angle = Math.PI / 3; // 等邊三角形內角的一半  // 第一個頂點(上方)  points[0] = new PointF(centerX, centerY - sideLength / 2);// 第二個頂點(右側)  points[1] = new PointF((float)(centerX + sideLength / 2 * Math.Cos(angle)),(float)(centerY + sideLength / 2 * Math.Sin(angle)));// 第三個頂點(左側)  points[2] = new PointF((float)(centerX + sideLength / 2 * Math.Cos(-angle)),(float)(centerY + sideLength / 2 * Math.Sin(-angle)));return points;}[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new MyForm());}
}

7.使用System.Drawing繪制一個圓內接三角形

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12046.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12046.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12046.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode 每日一題 ---- 【1553.吃掉 N 個橘子的最少天數】

LeetCode 每日一題 ---- 【1553.吃掉 N 個橘子的最少天數】 1553.吃掉N個橘子的最少天數方法&#xff1a;記憶化搜索 1553.吃掉N個橘子的最少天數 方法&#xff1a;記憶化搜索 前兩天給樹澆水&#xff0c;原來澆的是橘子樹哇 今天直接來了個大的【困難】 class Solution {Ma…

Linux——緩沖區

一、問題引入 我們先來看看下面的代碼&#xff1a;我們使用了C語言接口和系統調用接口來進行文件操作。在代碼的最后&#xff0c;我們還使用fork函數創建了一個子進程。 #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<sys/wait.h&…

將jar打包成exe可安裝程序,并在html頁面喚醒

一、exe4j將jar打包成exe 1.exe4j下載 下載地址&#xff1a;https://www.ej-technologies.com/download/exe4j/files 2.exe4j打包jar 2.1. welcome 可以選擇歷史配置&#xff0c;新增則直接下一步 2.2. project type選擇“jar in exe” mode 2.3. application info設置應用…

【接口測試_03課_-接口自動化思維梳理及Requests庫應用】

一、通過代碼&#xff0c;實現Jmeter 1、項目要放在虛擬環境里面&#xff0c;解釋器要使用虛擬環境的 上面是虛擬環境&#xff0c;下面是系統環境。2選一 venv目錄 查看當前虛擬環境已存在的依賴包 2、安裝Requests依賴包 1&#xff09;安裝命令 pip install requests 如果…

防火墻技術的演進,什么是下一代防火墻(NGFW)?

防火墻技術的演進 防火墻技術的演進經歷了不同階段&#xff0c;從包過濾防火墻到狀態檢測防火墻&#xff0c;再到集成多種安全功能的UTM&#xff08;統一威脅管理&#xff09;設備&#xff0c;最終發展到具備應用識別能力的NGFW&#xff08;下一代防火墻&#xff09;。 包過濾…

DTAS 尺寸公差分析及尺寸鏈計算-建模神器 — 用戶DIY裝配

工業互聯網&#xff08;工業4.0) 是未來智能制造的核心&#xff0c;工業軟件是智能制造的靈魂。 相關工業軟件及系統的自主研發是智能制造和質量升級轉型亟需解決的卡脖子環節&#xff0c;而公差分析軟件系統是前期質量研發精準設計、降本增效的關鍵。 數字化時代&#xff0…

知了匯智副總經理趙懋駿出席“走進阿里”CEO聯席會,共話AI大模型新趨勢

在智能科技日新月異的今天&#xff0c;匯智知了堂副總經理趙懋駿于3月28日受邀出席了在天府軟件園舉行的“走進阿里–2024年CEO聯席會”&#xff0c;會議聚焦阿里云AI技術的最新進展與行業應用&#xff0c;特別是“AI技術正在加速變革&#xff1a;大模型的歷史、現在與趨勢”&a…

手撕C語言題典——環形鏈表的約瑟夫問題

目錄 前言 一.故事背景 二.題目 ?編輯三.思路 1&#xff09;數組 ?編輯2&#xff09; 循環鏈表 四.代碼實現 搭配食用更佳哦~~ 數據結構之單單單——鏈表-CSDN博客 數據結構之單鏈表的基本操作-CSDN博客 前面學了單鏈表的相關知識&#xff0c;我們來嘗試做一下關于…

centos 把nginx更新到最新版本

yum install epel-release # 添加 EPEL 軟件倉庫&#xff0c;這是 Nginx 官方軟件倉庫的依賴項 yum install yum-utils # yum-utils 包含了 yum-config-manager 工具&#xff0c;它可以讓您輕松地啟用、禁用或配置 yum 軟件倉庫 vi /etc/yum.repos.d/nginx.repo # 增加以下內容…

灌區信息化管理平臺系統包含哪些內容?(全面介紹)

政策背景 2022年12月29日&#xff0c;水利部啟動48處大中型灌區開展數字孿生灌區先行先試建設。 2023年2月24日&#xff0c;《2023年農村水利水電工作要點》:2023年農村水利水電工作的總體思路包括:緊盯保障國家糧食安全&#xff0c;加快推進大中型灌區現代化改造&#xff0c;…

Linux repo包安裝Nginx

Linux repo包安裝Nginx 1. 將nginx.repo 文件拷貝到 /etc/yum.repos.d 目錄2.找到原來的NGINX配置文件打包備份3.執行Nginx安裝命令4. 重啟 nginx -s reload5. 查看Nginx版本 1. 將nginx.repo 文件拷貝到 /etc/yum.repos.d 目錄 cp nginx.repo /etc/yum.repos.d2.找到原來的…

jQuery 入門:輕松創建與插入節點

在Web開發中&#xff0c;動態地創建和管理DOM&#xff08;文檔對象模型&#xff09;節點是一項基本且強大的技能。jQuery&#xff0c;作為JavaScript的一個流行庫&#xff0c;以其簡潔的API簡化了這一過程。本文將通過一個簡單的示例&#xff0c;介紹如何使用jQuery來創建新的D…

【力扣一輪】鏈表-刪除鏈表指定值的元素

刪除鏈表指定元素 力扣鏈接 代碼隨想錄題解 分為兩個版本&#xff0c;一個是帶有虛擬頭節點&#xff0c;一個是不帶。 無論是帶有還是不帶有&#xff0c;我都遇到了這幾個問題&#xff1a; ①while循環時的判斷&#xff0c;首先要判斷當前節點是否為空&#xff0c;接著才能…

bmi088-linux驅動(I2C)

電氣特性&#xff1a; 在正常工作時&#xff0c;gyro 工作電流為5mA&#xff0c;acc 工作電流為150uA。 SPI 時鐘和數據電平范圍 0 -3.6 結構框圖如下&#xff1a; 硬件連接圖如下&#xff1a; note&#xff1a; 1. 通過PS引腳選擇通訊協議&#xff0c;上拉引腳則選擇的是I2C…

系統定期執行命令的方法

系統定期執行命令的方法 一、進入超級用戶下 執行命令&#xff1a;sudo su 二、添加要執行的命令 例子&#xff1a;每天0點執行一次myapp.sh命令 先后輸入&#xff1a;crontab -e、 1、 回車 設置每天0點執行一次myapp.sh操作&#xff0c;需要寫絕對路徑 含義&#xff1…

離線修復.dll,Microsoft Visual C++

在安裝mysql時遇到下面的問題&#xff0c;如果是有網絡的情況下微軟管網下載安裝就行了&#xff0c;用的服務器不允許連接互聯網。 后面經過尋找&#xff0c;找到了一個修復工具&#xff0c;可一次修復所有的問題&#xff0c;特別好用分享給寶子們。 下載鏈接&#xff1a;http…

樹莓派 4B putty遠程連接登錄顯示拒絕訪問,密碼修改

putty顯示拒絕訪問 可能是樹莓派的ip沒有找到正確的 在下載系統鏡像的時候&#xff0c;會提示設置wifi 這里設置的WiFi和密碼需記住&#xff0c;主機名也需記住 可以在手機打開熱點&#xff08;將熱點的賬號和密碼改為跟你設置的wifi一樣的&#xff09; 可以在手機后臺查看…

頁面埋點H5 大數據uniapp 按需要更改代碼就行

邏輯思路 跳轉頁面前&#xff0c;記錄當前頁面的信息停留的時長以及各種信息&#xff0c;然后等走的時候再將記錄的信息發送出去 1.記錄當前頁面信息的函數 // 埋點通用接口 // triggerType: 必傳 類型 entryStr(進入) || leaveStr(離開) || String:自定義事件描述 // pageU…

微信小程序支付教程

微信小程序支付教程 Person&#xff1a; 微信小程序支付有幾種版本&#xff0c;分別是什么&#xff0c;寫一個詳細教程介紹下 ChatGPT&#xff1a; 微信小程序支付主要有兩種版本&#xff0c;分別為&#xff1a;JSSDK版本&#xff08;v1.0&#xff09;和WeixinJSBridge版本&…

超寬輸送帶耐熱性能怎么樣

超寬輸送帶耐熱性能解析 隨著工業領域的不斷發展和技術革新&#xff0c;超寬輸送帶的應用越來越廣泛。這種輸送帶在冶金、建筑、化工等多個行業中發揮著至關重要的作用&#xff0c;特別是在高溫環境下&#xff0c;其耐熱性能更是備受關注。那么&#xff0c;超寬輸送帶的耐熱性…