'============================================================
'TurnPic ピクチャボックスの画像を90度回転させる
'------引数--------------------------------------------------
'Pic 回転させたい画像があるピクチャボックス
'TPic 回転させた画像を表示するピクチャボックス
'B_Width 画像の幅(ピクセル単位)
'B_Height 画像の高さ(ピクセル単位)
'TurnRight 回転方向 True-右,False-左
'============================================================
Public Sub TurnPic(Pic As Object, TPic As Object, _
B_Width As Long, _
B_Height As Long, TurnRight As Boolean)
Dim i As Long, j As Long, k As Long
Dim pc As Long
'幅と高さを逆にする
With TPic
.Width = B_Height
.Height = B_Width
End With
'右回転
If TurnRight = True Then
'横のラインを読み込む
For i = 0& To B_Width - 1&
k = B_Height - 1&
'縦のラインを読み込む
For j = 0& To B_Height - 1&
pc = Pic.Point(i, j)
TPic.PSet (k, i), pc
k = k - 1&
Next j
DoEvents
Next i
'左回転
Else
'縦のラインを読み込む
For j = 0& To B_Height - 1&
k = B_Width - 1&
'横のラインを読み込む
For i = 0& To B_Width - 1&
pc = Pic.Point(i, j)
TPic.PSet (j, k), pc
k = k - 1&
Next i
DoEvents
Next j
End If
End Sub
|