利用随机函数Rnd实现图像切换效果之二
'模糊平行线分开
Public Function pxxhl_3(Picture1 As PictureBox, Picture2 As PictureBox, Picture3 As PictureBox, MyTJParam5 As Integer)
'picture2.Cls
If MyTJParam5 = 0 Then Exit Function
Dim W1, H1, N As Integer
Dim A As Integer
N = 0
W1 = Picture1.ScaleWidth
H1 = Picture1.ScaleHeight
hDC3 = Picture3.hDC
hDC2 = Picture2.hDC
hDC1 = Picture1.hDC
On Error GoTo Lhandle
BitBlt hDC2, 0, 0, W1, H1, hDC1, 0, 0, SRCCOPY
For A = H1 To 0 Step -MyTJParam5
For i = W1 To 0 Step -1
j = A - i * H1 / W1
BitBlt hDC2, i, H1 - (i * H1 / W1), 1, -H1 + (i * H1 / W1) + j - Int((H1 / 5) * Rnd()), hDC3, i, H1 - (i * H1 / W1), SRCCOPY
Next i
For i = 0 To W1 Step 1
j = A + 2 * N + 1 - i * H1 / W1
BitBlt hDC2, i, H1 - (i * H1 / W1), 1, -H1 + (i * H1 / W1) + j + Int((H1 / 5) * Rnd()), hDC3, i, H1 - (i * H1 / W1), SRCCOPY
Next i
N = N + MyTJParam5
Sleep (1)
Next A
Lhandle:
Exit Function
End Function
'模糊平行线合扰
Public Function pxxhl_4(Picture1 As PictureBox, Picture2 As PictureBox, Picture3 As PictureBox, MyTJParam6 As Integer)
'picture2.Cls
If MyTJParam6 = 0 Then Exit Function
Dim W1, H1
Dim A As Integer
W1 = Picture1.ScaleWidth
H1 = Picture1.ScaleHeight
hDC3 = Picture3.hDC
hDC2 = Picture2.hDC
hDC1 = Picture1.hDC
On Error GoTo Lhandle
BitBlt hDC2, 0, 0, W1, H1, hDC1, 0, 0, SRCCOPY
For A = 0 To H1 Step MyTJParam6
For i = 0 To W1 Step 1
j = A - i * H1 / W1
BitBlt hDC2, 0, j, i - Int((W1 / 5) * Rnd()), 1, hDC3, 0, j, SRCCOPY
Next i
For i = W1 To 0 Step -1
j = 2 * H1 - A - i * H1 / W1
BitBlt hDC2, W1, j, i - W1 + Int((W1 / 5) * Rnd()), 1, hDC3, W1, j, SRCCOPY
Next i
Sleep (1)
Next A
Lhandle:
Exit Function
End Function