當前位置:編程學習大全網 - 源碼下載 - 那位高手可以給我在vb中用鼠標釋放,縮放,旋轉圖片的代碼,代碼正確,分數送上。

那位高手可以給我在vb中用鼠標釋放,縮放,旋轉圖片的代碼,代碼正確,分數送上。

第壹部分:圖像的縮小和放大(使用Image控件):

Dim X As Integer

Private Sub Command3_Click() '退出

End

End Sub

Private Sub Form_Load()

X = 1

End Sub

Private Sub Image1_Click()

If X = 1 Then '放大

With Image1

.Width = .Width * 2: .Height = .Height * 2

.Left = .Left: .Top = .Top

End With

X = X + 1

Else '縮小

With Image1

.Width = .Width / 2: .Height = .Height / 2

.Left = .Left: .Top = .Top

End With

X = 1

End If

End Sub

第二部分圖像旋轉90度(使用PictureBox控件):

Option Explicit

Const PI = 3.1415

Dim XX As Integer

Private Sub Form_Load()

TP1.ScaleMode = 3

TP2.ScaleMode = 3

Form1.ScaleMode = 3

XX = 1

End Sub

Private Sub TP1_Click()

If XX = 1 Then

Dim X As Integer, Y As Integer '點在TP1中的坐標

Dim X1 As Integer, Y1 As Integer '過渡坐標

Dim X2 As Double, Y2 As Double '過渡坐標

Dim X3 As Double, Y3 As Double '點經過旋轉後在TP2中的坐標

Dim angle As Double '旋轉的角度

Dim radian As Double '旋轉的弧度

angle = 90 '設定旋轉的角度,可以修改,如果修改為負值,為順時針旋轉,也可以使用文本框

radian = angle * PI / 180 '獲得旋轉的弧度

TP2.Cls '清除TP2中的圖片

For X = 0 To TP1.Width

For Y = 0 To TP1.Height

X1 = X - TP1.Width \ 2

Y1 = Y - TP1.Height \ 2

'將坐標軸原點移動到TP1的中心後原來坐標為(x,y)的點的新坐標為(X1,Y1)

X2 = X1 * Cos(radian) + Y1 * Sin(radian) '獲得在更改坐標原點後旋轉後該點的X坐標

Y2 = Y1 * Cos(radian) - X1 * Sin(radian) '獲得在更改坐標原點後旋轉後該點的Y坐標

X3 = X2 + TP1.Width \ 2 '獲得恢復坐標原點後旋轉後的X坐標

Y3 = Y2 + TP1.Height \ 2 '獲得恢復坐標原點後旋轉後的Y坐標

If X3 > 0 And X3 < TP2.Width - 1 And Y3 > 0 And Y3 < TP2.Height - 1 Then

TP2.PSet (X3, Y3), TP1.Point(X, Y) '將TP1中(x,y)點復制到TP2的(X3,Y3)點

'TP1的Point方法是指定各點的顏色,TP2的PSet方法是設置各個點的顏色

End If

Next Y

Next X

XX = XX + 1

Else

TP2.Cls '清除TP2中的圖片

XX = 1

End If

End Sub

  • 上一篇:泰坦壁紙的發展歷程
  • 下一篇:匿名評論系統源代碼
  • copyright 2024編程學習大全網