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

VB.NET中心旋轉(zhuǎn)圖像實(shí)現(xiàn)技巧分享

開(kāi)發(fā) 后端
VB.NET中心旋轉(zhuǎn)圖像的實(shí)現(xiàn),完全可以按照本文給出的這段代碼進(jìn)行操作。初學(xué)者們可以以此為參考,進(jìn)行實(shí)際編寫(xiě),以加深對(duì)此的了解。

 

我們?cè)趯W(xué)習(xí)一門(mén)編程語(yǔ)言的時(shí)候,需要通過(guò)不斷的實(shí)踐去積累經(jīng)驗(yàn),來(lái)加深我們對(duì)這門(mén)語(yǔ)言的理解程度。對(duì)于VB.NET的學(xué)習(xí)同樣也是如此。在這里我們先通過(guò)一段VB.NET中心旋轉(zhuǎn)圖像的實(shí)現(xiàn)代碼來(lái)初步的了解一下這門(mén)語(yǔ)言的編寫(xiě)方式和應(yīng)用方法。

 

 

 

鼠標(biāo)拖拽旋轉(zhuǎn)。實(shí)現(xiàn)任意角度的VB.NET中心旋轉(zhuǎn)圖像。

 

 

 

  1. Public Class Form1  
  2. Dim bmp As Bitmap  
  3. Dim bmpsize As Single  
  4. Dim gr As Graphics  
  5. Dim pb As Point  
  6. Dim po As PointF  
  7. Private Sub Form1_Load(ByVal sender As 
    System.Object, ByVal e As System.EventArgs)
     Handles MyBase.Load  
  8. bmpsize = Math.Sqrt(Me.Icon.Width ^ 
    2 + Me.Icon.Height ^ 2)  
  9. bmp = New Bitmap(CInt(bmpsize), CInt(bmpsize))  
  10. gr = Graphics.FromImage(bmp)  
  11. po = New PointF((bmpsize - Me.Icon.Width) 
    / 2, (bmpsize - Me.Icon.Height) / 2)  
  12. gr.DrawIcon(Me.Icon, po.X, po.Y)  
  13. PictureBox1.Image = bmp 
  14. End Sub  
  15. Private Sub PictureBox1_MouseDown(ByVal 
    sender As Object, ByVal e As System.Windows.
    Forms.MouseEventArgs) Handles PictureBox1.MouseDown  
  16. pb = e.Location  
  17. End Sub  
  18. Private Sub PictureBox1_MouseMove(ByVal 
    sender As Object, ByVal e As System.Windows.
    Forms.MouseEventArgs) Handles PictureBox1.MouseMove  
  19. If Not pb = Point.Empty Then  
  20. 'O\-----------B  
  21. ' \   
  22. ' \  
  23. ' \  
  24. ' E  
  25. Dim vOB, vOE As Windows.Vector  
  26. vOB = New Windows.Vector(bmpsize / 2, 
    bmpsize / 2) - New Windows.Vector(pb.X, pb.Y)  
  27. vOE = New Windows.Vector(bmpsize / 2, bmpsize / 2)
     - New Windows.Vector(e.X, e.Y)  
  28. '可以用叉乘求面積,正負(fù)號(hào)代表旋轉(zhuǎn)方向,而后正弦定理求角度,  
  29. Dim O As Double = Windows.Vector.AngleBetween(vOB, vOE)  
  30. '若角度為有效值  
  31. gr.TranslateTransform(bmpsize / 2, bmpsize / 2) 
    '移動(dòng)坐標(biāo)至圖像中心  
  32. gr.RotateTransform(O) '按角度旋轉(zhuǎn)  
  33. gr.TranslateTransform(-bmpsize / 2, -bmpsize / 2)
     '移回  
  34. gr.Clear(Color.Transparent) '清除原有圖像  
  35. gr.DrawIcon(Me.Icon, po.X, po.Y) '繪制新圖像  
  36. PictureBox1.Image = bmp 
  37. pb = e.Location  
  38. End If  
  39. End Sub  
  40. Private Sub PictureBox1_MouseUp(ByVal sender As 
    Object, ByVal e As System.Windows.Forms.MouseEventArgs) 
    Handles PictureBox1.MouseUp  
  41. pb = Point.Empty  
  42. End Sub  
  43. End Class 

VB.NET中心旋轉(zhuǎn)圖像的具體操作方法就為大家介紹到這里,希望對(duì)大家有所幫助。

責(zé)任編輯:曹凱 來(lái)源: CSDN
相關(guān)推薦

2010-01-18 18:50:26

VB.NET鼠標(biāo)手勢(shì)

2010-01-18 16:33:57

VB.NET加密文件

2010-01-07 13:40:50

VB.NET讀取XML

2010-01-14 16:04:32

VB.NET顯示時(shí)間

2010-01-18 16:41:47

VB.NET用戶(hù)登錄頁(yè)

2010-01-15 19:04:09

2010-01-22 11:02:30

VB.NET創(chuàng)建新變量

2010-01-13 15:52:59

VB.NET浮動(dòng)窗體

2010-01-22 13:16:05

VB.NET初始化數(shù)組

2010-01-13 16:45:44

VB.NET刪除控件

2010-01-11 15:31:04

VB.NET拖動(dòng)窗體

2010-01-08 18:31:45

VB.NET歷史菜單

2010-01-22 16:27:19

VB.NET關(guān)于對(duì)話框

2010-01-19 15:30:44

VB.NET比較運(yùn)算符

2010-01-13 10:25:30

VB.NET文件夾操作

2010-01-15 19:24:42

2010-01-07 10:02:53

Flash控制VB.N

2010-01-11 16:04:10

VB.NET使用wit

2010-01-13 14:41:18

VB.NET列出目錄內(nèi)

2010-01-18 19:36:52

VB.NET調(diào)整控件
點(diǎn)贊
收藏

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