中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

怎么給購(gòu)物網(wǎng)站做推廣網(wǎng)站維護(hù)費(fèi)用

怎么給購(gòu)物網(wǎng)站做推廣,網(wǎng)站維護(hù)費(fèi)用,WordPress mip 評(píng)論框,百度優(yōu)化推廣在 C# 中,Graphics 類(lèi)是 System.Drawing 命名空間的一部分,它提供了一組方法和屬性,用于在 Windows Forms 應(yīng)用程序中進(jìn)行二維繪圖。Graphics 對(duì)象可以繪制文本、線條、曲線、形狀和圖像,并可以對(duì)它們進(jìn)行變換和剪輯。 Graphics …

在 C# 中,Graphics 類(lèi)是 System.Drawing 命名空間的一部分,它提供了一組方法和屬性,用于在 Windows Forms 應(yīng)用程序中進(jìn)行二維繪圖。Graphics 對(duì)象可以繪制文本、線條、曲線、形狀和圖像,并可以對(duì)它們進(jìn)行變換和剪輯。

Graphics 類(lèi)的一些常用功能和方法:?

1.繪制線條

DrawLine(Pen pen, int x1, int y1, int x2, int y2):使用指定的?Pen?對(duì)象繪制直線。

DrawLines(Pen pen, Point[] points):使用指定的?Pen?對(duì)象和點(diǎn)數(shù)組繪制一系列連續(xù)的線條。

public Form1()
{InitializeComponent();this.panel1.Paint += Panel1_Paint;this.panel2.Paint += Panel2_Paint;
}
//DrawLine(Pen pen, int x1, int y1, int x2, int y2)
private void Panel1_Paint(object sender, PaintEventArgs e)
{//1.創(chuàng)建圖形(畫(huà)布,畫(huà)板)Graphics g = e.Graphics;//2.設(shè)置繪制參數(shù)()SetQuality(g);//3.開(kāi)始繪制Pen pen = new Pen(Color.Red, 10F);Point pt1 = new Point(50, 50);Point pt2 = new Point(100, 50);g.DrawLine(pen, pt1, pt2);//注意:起點(diǎn)的坐標(biāo),考慮畫(huà)筆的寬度Pen pen1 = new Pen(Color.Blue, 10F);Point pt3 = new Point(100 + 5, 50 - 5);Point pt4 = new Point(100 + 5, 100);g.DrawLine(pen1, pt3, pt4);
}
//DrawLines(Pen pen, Point[] points)
private void Panel1_Paint(object sender, PaintEventArgs e)
{Pen pen = new Pen(Color.Red, 10F);Point[] points = new Point[]{new Point(80,150),new Point(80,20),new Point(20,100),new Point(120,100),};g.DrawLines(pen, points);
}

2.繪制形狀:?

DrawRectangle(Pen pen, int x, int y, int width, int height):使用指定的?Pen?對(duì)象繪制矩形。

DrawEllipse(Pen pen, int x, int y, int width, int height):使用指定的?Pen?對(duì)象繪制橢圓。

DrawPolygon(Pen pen, Point[] points):使用指定的?Pen?對(duì)象和點(diǎn)數(shù)組繪制多邊形。

public Form1()
{InitializeComponent();this.panel1.Paint += Panel1_Paint;this.panel2.Paint += Panel2_Paint;this.panel3.Paint += Panel3_Paint;
}
//矩形DrawRectangle(Pen pen, int x, int y, int width, int height)
private void Panel1_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g);Pen pen1 = new Pen(Color.Red, 10F);Rectangle rect = new Rectangle(20,20,100,100);g.DrawRectangle(pen1, rect);
}
//橢圓DrawEllipse(Pen pen, int x, int y, int width, int height)
private void Panel2_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g);Pen pen1 = new Pen(Color.Red, 10F);Rectangle rect = new Rectangle(20,20,80,100);g.DrawEllipse(pen1, rect);//橢圓
}
//多邊形DrawPolygon(Pen pen, Point[] points)
private void Panel3_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g);Pen pen1 = new Pen(Color.Red, 10F);Point[] points = new Point[]{new Point(80,20),new Point(20,100),new Point(120,100),};g.DrawPolygon(pen1, points);
}

?3.填充形狀

FillRectangle(Brush brush, int x, int y, int width, int height):使用指定的?Brush?對(duì)象填充矩形。

FillEllipse(Brush brush, int x, int y, int width, int height):使用指定的?Brush?對(duì)象填充橢圓。

FillPolygon(Brush brush, Point[] points):使用指定的?Brush?對(duì)象填充多邊形。

public Form1()
{InitializeComponent();this.panel1.Paint += Panel1_Paint;this.panel2.Paint += Panel2_Paint;this.panel3.Paint += Panel3_Paint;
}
//FillRectangle(Brush brush, int x, int y, int width, int height)
private void Panel1_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g);Pen pen1 = new Pen(Color.Red, 10F);Rectangle rect = new Rectangle(20,20,100,100);Brush brush = new SolidBrush(Color.Yellow);g.FillRectangle(brush, rect);g.DrawRectangle(pen1, rect);//矩形
}
//FillEllipse(Brush brush, int x, int y, int width, int height)
private void Panel2_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g);Pen pen1 = new Pen(Color.Red, 10F);Rectangle rect = new Rectangle(20,20,80,100);Brush brush = new SolidBrush(Color.Yellow);g.FillEllipse(brush, rect);g.DrawEllipse(pen1, rect);//橢圓
}
//FillPolygon(Brush brush, Point[] points)
private void Panel3_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g);Pen pen1 = new Pen(Color.Red, 10F);Point[] points = new Point[]{new Point(80,20),new Point(20,100),new Point(120,100),};Brush brush = new SolidBrush(Color.Yellow);g.DrawPolygon(pen1, points);g.FillPolygon(brush,points);
}

4.繪制文本:?

DrawString(String s, Font font, Brush brush, float x, float y):在指定位置繪制文本字符串。

public Form1()
{InitializeComponent();this.panel1.Paint += Panel1_Paint;
}private void Panel1_Paint(object sender, PaintEventArgs e){Graphics g = e.Graphics;SetQuality(g);string s = "相尋夢(mèng)里路,飛雨落花中";Font font = new Font("華文琥珀",20F);Brush brush  = new SolidBrush(Color.Pink);g.DrawString(s,font,brush,10,10);}

5.圖像處理

DrawImage(Image image, Point point):在指定位置繪制圖像。

DrawImage(Image image, Rectangle rect):在指定矩形區(qū)域內(nèi)繪制圖像。

public Form1()
{InitializeComponent();this.panel1.Paint += Panel1_Paint;this.panel1.Paint += Panel2_Paint;
}        
private void Panel1_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g);string path = Path.Combine(Environment.CurrentDirectory, "../../image/1.png");Image img = Image.FromFile(path);Point point = new Point( 0, 0);g.DrawImage(img, point);//在指定位置繪制圖像img.Dispose(); // 釋放圖像資源
}
private void Panel2_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g);string path = Path.Combine(Environment.CurrentDirectory, "../../image/2.png");Image img = Image.FromFile(path);Rectangle rect = new Rectangle(0,0,300,240);g.DrawImage(img, rect);img.Dispose(); // 釋放圖像資源
}

?

6.變換和剪輯:?

TranslateTransform(float dx, float dy):對(duì)當(dāng)前的坐標(biāo)系統(tǒng)進(jìn)行平移變換。

ScaleTransform(float sx, float sy):對(duì)當(dāng)前的坐標(biāo)系統(tǒng)進(jìn)行縮放變換。

RotateTransform(float angle):對(duì)當(dāng)前的坐標(biāo)系統(tǒng)進(jìn)行旋轉(zhuǎn)變換。

SetClip(Rectangle rect):設(shè)置當(dāng)前的剪輯區(qū)域。

代碼在下面

1.平移變換? ? ? ? ? ? ? ? ? ? ? ? ?2.縮放變換????????????????????????3.?旋轉(zhuǎn)變換? ? ? ? ?

?

?7.獲取信息

VisibleClipBounds:獲取當(dāng)前剪輯區(qū)域的邊界。

IsVisible(Point point):判斷一個(gè)點(diǎn)是否在可見(jiàn)區(qū)域內(nèi)。

代碼

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;
using System.Windows.Forms;
namespace 圖形變換和剪輯
{public partial class Form1 : Form{public Form1(){InitializeComponent();Panel panel1 = new Panel{Size = new Size(400, 400),Location = new Point(50, 50),BackColor = Color.Green,};this.Controls.Add(panel1);panel1.Paint += Panel1_Paint; 平移變換panel1.Paint += Panel2_Paint; // 縮放變換panel1.Paint += Panel3_Paint; // 旋轉(zhuǎn)變換panel1.Paint += Panel4_Paint; // 設(shè)置剪輯區(qū)域}private void Panel1_Paint(object sender, PaintEventArgs e){Graphics g = e.Graphics;SetQuality(g);string path = Path.Combine(Environment.CurrentDirectory, "../../image/1.png");Image img = Image.FromFile(path);g.TranslateTransform(100, 0);g.DrawImage(img, new Point(0,0));}private void Panel2_Paint(object sender, PaintEventArgs e){Graphics g = e.Graphics;SetQuality(g);string path = Path.Combine(Environment.CurrentDirectory, "../../image/1.png");Image img = Image.FromFile(path);g.ScaleTransform(1.5F,1.5F);//縮放g.DrawImage(img, new Point(-100, -100));}private void Panel3_Paint(object sender, PaintEventArgs e){Graphics g = e.Graphics;SetQuality(g);string path = Path.Combine(Environment.CurrentDirectory, "../../image/1.png");Image img = Image.FromFile(path);g.RotateTransform(45); // 旋轉(zhuǎn)變換g.DrawImage(img, new Point(0, 0));}private void Panel4_Paint(object sender, PaintEventArgs e){Graphics g = e.Graphics;SetQuality(g);string path = Path.Combine(Environment.CurrentDirectory, "../../image/2.png");Image img = Image.FromFile(path);Rectangle clipRect = new Rectangle(50, 50, 300, 300);g.SetClip(clipRect);//設(shè)置當(dāng)前編輯區(qū)// 獲取信息RectangleF visibleClipBounds = g.VisibleClipBounds;Console.WriteLine($"Visible Clip Bounds: {visibleClipBounds}");Point testPoint = new Point(100, 100);bool isVisible = g.IsVisible(testPoint);Console.WriteLine($"Point {testPoint} is visible: {isVisible}");}private static void SetQuality(Graphics g){g.SmoothingMode = SmoothingMode.AntiAlias;g.CompositingQuality = CompositingQuality.HighQuality;g.InterpolationMode = InterpolationMode.HighQualityBicubic;}}
}

SetQuality()

SetQuality 方法是一個(gè)自定義方法,它不是 System.Drawing 命名空間的一部分。這個(gè)方法通常用于設(shè)置 Graphics 對(duì)象的屬性,以提高繪制質(zhì)量,特別是在進(jìn)行圖形變換、繪制文本或圖像時(shí)。

SetQuality 方法設(shè)置了以下幾個(gè)關(guān)鍵屬性:

  1. SmoothingMode:設(shè)置為?SmoothingMode.AntiAlias,以啟用抗鋸齒,使線條和曲線更平滑。
  2. InterpolationMode:設(shè)置為?InterpolationMode.HighQualityBicubic,以在圖像縮放時(shí)使用高質(zhì)量的雙三次插值算法。
  3. PixelOffsetMode:設(shè)置為?PixelOffsetMode.HighQuality,以減少圖像旋轉(zhuǎn)和大字體文本時(shí)的像素偏移。
  4. TextRenderingHint:設(shè)置為?TextRenderingHint.AntiAliasGridFit,以提高文本渲染的質(zhì)量和清晰度。
  5. CompositingQuality:設(shè)置為?CompositingQuality.HighQuality,以確保在合成圖像時(shí)使用高質(zhì)量的算法。
using System.Drawing;
using System.Drawing.Drawing2D;
public void SetQuality(Graphics g)
{// 設(shè)置高質(zhì)量渲染模式g.SmoothingMode = SmoothingMode.AntiAlias; // 抗鋸齒// 設(shè)置高質(zhì)量的插值模式g.InterpolationMode = InterpolationMode.HighQualityBicubic; // 高質(zhì)量雙三次插值// 設(shè)置高質(zhì)量的像素偏移模式g.PixelOffsetMode = PixelOffsetMode.HighQuality; // 高質(zhì)量像素偏移// 設(shè)置高質(zhì)量的路徑漸變g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; // 文本抗鋸齒// 設(shè)置圖形對(duì)象的線性變換和旋轉(zhuǎn)變換的精度g.CompositingQuality = CompositingQuality.HighQuality; // 高質(zhì)量合成
}// 在 Paint 事件處理程序中使用 SetQuality 方法
private void MyControl_Paint(object sender, PaintEventArgs e)
{Graphics g = e.Graphics;SetQuality(g); // 應(yīng)用高質(zhì)量設(shè)置// 現(xiàn)在使用 g 繪制文本、線條、形狀等g.DrawString("Hello, World!", new Font("Arial", 16), Brushes.Black, new PointF(10, 10));
}

http://www.risenshineclean.com/news/1466.html

相關(guān)文章:

  • 北京哪家公司做網(wǎng)站好seo發(fā)貼軟件
  • 做新聞?lì)惥W(wǎng)站google搜索關(guān)鍵詞熱度
  • 網(wǎng)站用戶(hù)注冊(cè)怎么建新手做電商怎么起步
  • 網(wǎng)站網(wǎng)站設(shè)計(jì)公司互聯(lián)網(wǎng)平臺(tái)
  • 邯鄲做網(wǎng)站的十大免費(fèi)b2b網(wǎng)站
  • 工信部備案網(wǎng)站查網(wǎng)絡(luò)營(yíng)銷(xiāo)的目的是
  • 網(wǎng)站加友情鏈接的好處手機(jī)百度2020
  • 做盜版小說(shuō)網(wǎng)站能賺錢(qián)不百度經(jīng)驗(yàn)懸賞任務(wù)平臺(tái)
  • 網(wǎng)絡(luò)科技公司網(wǎng)站建設(shè)策劃百度搜索排名怎么收費(fèi)
  • wordpress部署seo怎么學(xué)在哪里學(xué)
  • 如何管理網(wǎng)站端口掃描站長(zhǎng)工具
  • 京東網(wǎng)站是自己做的嗎武漢百度信息流廣告
  • 東莞網(wǎng)站建設(shè)哪家好網(wǎng)站推廣的渠道有哪些
  • 做網(wǎng)站開(kāi)發(fā)工資怎樣google搜索關(guān)鍵詞
  • 網(wǎng)絡(luò)公司簡(jiǎn)介模板百度地圖優(yōu)化排名方法
  • 市場(chǎng)調(diào)研報(bào)告seo 推廣怎么做
  • 個(gè)人網(wǎng)站內(nèi)容有哪些內(nèi)容足球比賽直播
  • 網(wǎng)站建設(shè)需要多少網(wǎng)絡(luò)培訓(xùn)課程
  • 廣州的一起做網(wǎng)站seo關(guān)鍵詞排名優(yōu)化推薦
  • 免費(fèi)做兼職的網(wǎng)站有嗎優(yōu)化網(wǎng)站排名解析推廣
  • 網(wǎng)站怎么做移動(dòng)圖片東莞企業(yè)網(wǎng)站模板建站
  • 做房地產(chǎn)網(wǎng)站廣告銷(xiāo)售seo網(wǎng)站優(yōu)化培
  • 需求登記網(wǎng)站怎么做網(wǎng)絡(luò)營(yíng)銷(xiāo)公司排行
  • 成都住建局官網(wǎng)有問(wèn)題怎么辦站長(zhǎng)seo綜合查詢(xún)
  • 中國(guó)建設(shè)銀行網(wǎng)站首頁(yè)下載自己怎么開(kāi)網(wǎng)站
  • win2008 iis配置網(wǎng)站服務(wù)營(yíng)銷(xiāo)理論
  • 網(wǎng)站訪問(wèn)速度檢測(cè)快速網(wǎng)站推廣
  • 咔咔做受視頻網(wǎng)站百度用戶(hù)服務(wù)中心官網(wǎng)電話(huà)
  • 網(wǎng)站建設(shè)需求表網(wǎng)站怎么推廣
  • 網(wǎng)站營(yíng)銷(xiāo)如何做快速收錄網(wǎng)