自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實(shí)體建模:C#畫圖的模式與縮放功能

開發(fā) 后端
文章詳細(xì)講解C#畫圖的模式與縮放功能。實(shí)體建模軟件中,可以獨(dú)立的設(shè)置并保存各種坐標(biāo)系,并隨時(shí)調(diào)用。

在實(shí)體建模軟件中,經(jīng)常有設(shè)置并保存各種參考坐標(biāo)系的功能,方便建立模型。C#畫圖中也有這種類似功能。不過沒有建模軟件那么強(qiáng)大。實(shí)體建模軟件中,可以獨(dú)立的設(shè)置并保存各種坐標(biāo)系,并隨時(shí)調(diào)用。而這里只能以嵌套的形式調(diào)用,當(dāng)返回到上一級狀態(tài)時(shí),跳過的狀態(tài)就不再保存了。

C#畫圖普通模式主要命令

  1. state = graphics.BeginContainer();  
  2. 建一個(gè)新繪圖狀態(tài)  
  3.  
  4. e.Graphics.EndContainer(state1);  
  5. 結(jié)束這個(gè)繪圖狀態(tài)  
  6.  
  7. Rectangle rect = new Rectangle(0,   
  8. 0, 100, 100);//示例圖形  
  9.  
  10. GraphicsContainer state1 =   
  11. e.Graphics.BeginContainer();  
  12. //建一個(gè)新繪圖坐標(biāo)state1  
  13.  
  14. e.Graphics.TranslateTransform(100, 100);  
  15. //移動(dòng)坐標(biāo)系到100,100,畫藍(lán)色矩形標(biāo)記  
  16. e.Graphics.DrawRectangle(Pens.Blue, rect);  
  17. GraphicsContainer state2 =   
  18. e.Graphics.BeginContainer();  
  19. //在此基礎(chǔ)上建一個(gè)繪圖坐標(biāo)state2  
  20.  
  21. e.Graphics.RotateTransform(45);//旋轉(zhuǎn)45度,  
  22. 畫紅色矩形標(biāo)記  
  23. e.Graphics.DrawRectangle(Pens.Red, rect);  
  24.  
  25. e.Graphics.TranslateTransform(100, 100);  
  26. e.Graphics.DrawRectangle(Pens.Black, rect);  
  27.  
  28. e.Graphics.EndContainer(state2);//退出坐標(biāo)系2,  
  29. 畫藍(lán)橢圓  
  30. e.Graphics.DrawEllipse(Pens.Blue, rect);  
  31.  
  32. e.Graphics.EndContainer(state1);//退出state1,  
  33. 畫紅橢圓  
  34. e.Graphics.DrawRectangle(Pens.Red, rect);  

 

建立狀態(tài)1

移動(dòng)到100,100,畫藍(lán)色矩形

建被嵌套的狀態(tài)2

移動(dòng)到200,0,畫紅色矩形

退出狀態(tài)2,畫藍(lán)色橢圓

退出狀態(tài)1,畫紅色矩形

狀態(tài)2是被嵌套的,如果直接退出狀態(tài)1畫紅色矩形,狀態(tài)2不再被保存。

graphics.BeginContainer()和EndGontainer是保存和返回當(dāng)前畫板狀態(tài),當(dāng)然,移動(dòng)只是一種改變畫板狀態(tài)的方式。

C#畫圖縮放功能主要命令:

  1. GraphicsContainercontainerState=  
  2. e.Graphics.BeginContainer(  
  3. destRect,srcRect,  
  4. GraphicsUnit.Pixel);  
  5. 多加兩個(gè)參數(shù),destRect和scrRect制定縮放大小  
  6. Pixel指定單位  
  7.  
  8. RectanglesrcRect=newRectangle(  
  9. 0,0,200,200);  
  10. RectangledestRect=newRectangle(  
  11. 200,200,100,100);  
  12.  
  13. //建一個(gè)比例縮放的畫圖板.  
  14. GraphicsContainercontainerState=  
  15. e.Graphics.BeginContainer(  
  16. destRect,srcRect,  
  17. GraphicsUnit.Pixel);  
  18.  
  19. //繪圖縮放綠矩形.  
  20. e.Graphics.FillRectangle(  
  21. newSolidBrush(Color.Red),0,0,100,100);  
  22.  
  23. //退出此繪圖板.  
  24. e.Graphics.EndContainer(containerState);  
  25.  
  26. //繪原始紅矩形.  
  27. e.Graphics.FillRectangle(  
  28. newSolidBrush(Color.Green),0,0,100,100);  

以上就介紹了C#畫圖的模式與縮放功能。

【編輯推薦】

  1. 詳細(xì)介紹C#編譯器
  2. C#異常機(jī)制的相關(guān)解釋
  3. 在C#程序編譯另一個(gè)程序的實(shí)現(xiàn)方法
  4. C#類庫編譯兩步走
  5. C#條件編譯指令淺析
責(zé)任編輯:冰荷 來源: cnblogs
相關(guān)推薦

2024-07-22 08:09:28

C#模式架構(gòu)

2024-06-19 16:02:46

2009-09-01 10:35:59

C# WinForm控

2009-09-07 15:40:06

2009-08-04 09:22:26

C#工廠模式

2009-08-18 09:26:07

C#線程功能

2009-08-26 10:24:04

C# Observer

2009-08-31 16:12:02

C#使用Singlet

2009-05-15 10:34:09

C#實(shí)體驗(yàn)證Entity Vali

2009-09-01 18:29:10

C#繼承C#多態(tài)

2009-08-07 13:03:10

C#控件數(shù)組

2009-09-02 17:29:10

C# TextBox換

2009-08-27 18:05:54

C#索引功能

2009-04-29 09:06:18

C#設(shè)計(jì)模式Adapter

2009-09-07 04:59:12

C#模式窗體

2009-08-11 13:59:41

迭代器模式C# Iterator

2009-08-26 16:26:37

C#迭代器模式

2009-08-18 09:33:49

C#特有線程功能

2009-09-02 16:23:27

C# Singleto

2009-08-25 18:04:30

C#實(shí)現(xiàn)Singlet
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號