新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET中心旋轉(zhuǎn)圖像實(shí)現(xiàn)技巧分享
我們在學(xué)習(xí)一門編程語言的時候,需要通過不斷的實(shí)踐去積累經(jīng)驗(yàn),來加深我們對這門語言的理解程度。對于 VB.NET的學(xué)習(xí)同樣也是如此。在這里我們先通過一段VB.NET中心旋轉(zhuǎn)圖像的實(shí)現(xiàn)代碼來初步的了解一下這門語言的編寫方式和應(yīng)用方法。

目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、鹽城網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
鼠標(biāo)拖拽旋轉(zhuǎn)。實(shí)現(xiàn)任意角度的VB.NET中心旋轉(zhuǎn)圖像。
- Public Class Form1
- Dim bmp As Bitmap
- Dim bmpsize As Single
- Dim gr As Graphics
- Dim pb As Point
- Dim po As PointF
- Private Sub Form1_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load- bmpsize = Math.Sqrt(Me.Icon.Width ^
2 + Me.Icon.Height ^ 2)- bmp = New Bitmap(CInt(bmpsize), CInt(bmpsize))
- gr = Graphics.FromImage(bmp)
- po = New PointF((bmpsize - Me.Icon.Width)
/ 2, (bmpsize - Me.Icon.Height) / 2)- gr.DrawIcon(Me.Icon, po.X, po.Y)
- PictureBox1.Image = bmp
- End Sub
- Private Sub PictureBox1_MouseDown(ByVal
sender As Object, ByVal e As System.Windows.
Forms.MouseEventArgs) Handles PictureBox1.MouseDown- pb = e.Location
- End Sub
- Private Sub PictureBox1_MouseMove(ByVal
sender As Object, ByVal e As System.Windows.
Forms.MouseEventArgs) Handles PictureBox1.MouseMove- If Not pb = Point.Empty Then
- 'O\-----------B
- ' \
- ' \
- ' \
- ' E
- Dim vOB, vOE As Windows.Vector
- vOB = New Windows.Vector(bmpsize / 2,
bmpsize / 2) - New Windows.Vector(pb.X, pb.Y)- vOE = New Windows.Vector(bmpsize / 2, bmpsize / 2)
- New Windows.Vector(e.X, e.Y)- '可以用叉乘求面積,正負(fù)號代表旋轉(zhuǎn)方向,而后正弦定理求角度,
- Dim O As Double = Windows.Vector.AngleBetween(vOB, vOE)
- '若角度為有效值
- gr.TranslateTransform(bmpsize / 2, bmpsize / 2)
'移動坐標(biāo)至圖像中心- gr.RotateTransform(O) '按角度旋轉(zhuǎn)
- gr.TranslateTransform(-bmpsize / 2, -bmpsize / 2)
'移回- gr.Clear(Color.Transparent) '清除原有圖像
- gr.DrawIcon(Me.Icon, po.X, po.Y) '繪制新圖像
- PictureBox1.Image = bmp
- pb = e.Location
- End If
- End Sub
- Private Sub PictureBox1_MouseUp(ByVal sender As
Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Handles PictureBox1.MouseUp- pb = Point.Empty
- End Sub
- End Class
VB.NET中心旋轉(zhuǎn)圖像的具體操作方法就為大家介紹到這里,希望對大家有所幫助。
文章標(biāo)題:VB.NET中心旋轉(zhuǎn)圖像實(shí)現(xiàn)技巧分享
瀏覽地址:http://m.fisionsoft.com.cn/article/ccohseh.html


咨詢
建站咨詢
