VB Code:
Case EFFECT_RIPPLE:
Dim Ripples() As Long, RippleVal As String
Dim Temp As Long
ReDim Ripples(1 To PicInfo.bmWidth)
RippleVal = CStr(Offset) 'InputBox("Input ripple intensity", "Ripple Effect", "2")
If (Val(RippleVal) <= 0) Then Exit Function
For i = 1 To PicInfo.bmWidth
Temp = i + Sin(i / Val(RippleVal)) * Val(RippleVal)
If Temp > PicInfo.bmWidth Then
Ripples(i) = PicInfo.bmWidth
ElseIf Temp < 1 Then
Ripples(i) = 1
Else
Ripples(i) = Temp
End If
Next i
Dim rip As Long
For i = 1 To PicInfo.bmWidth
For j = 1 To PicInfo.bmHeight
r = ImgData(1, Ripples(i), j)
g = ImgData(2, Ripples(i), j)
b = ImgData(3, Ripples(i), j)
ImgData(1, i, j) = r
ImgData(2, i, j) = g
ImgData(3, i, j) = b
Next j
Next i
chem