波のエフェクト

<戻る

ここに載せてあるソースコードは、参考のために載せてあります

サンプルコードは、一番下にLZHとしてあります




Option Explicit

'波のエフェクトを作ります

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long

Private Sub Command1_Click()
    Dim jx As Integer, jy As Integer
    Dim pw As Integer, ph  As Integer
    
    Command1.Enabled = False 'Command1の次からのイベントを無効にする
    MousePointer = 13 'マウスポインタを砂時計にする
    
    Picture2.Cls 'Picture2の表示内容をクリアにする
    Picture2.Refresh 'クリアにしたのを確認のために強制的に描く
    
    'Picture1のサイズを代入する
    pw = Picture1.ScaleWidth
    ph = Picture1.ScaleHeight
    
    '波を作る
    For jy = 0 To ph
        For jx = 0 To pw
            SetPixel Picture2.hdc, jx, jy, GetPixel(Picture1.hdc, jx, jy - 20 * (Sin(jx / 30) + 1))
    Next jx, jy
    Picture2.Refresh '強制的に描く
    
    Command1.Enabled = True 'Command1のイベントを受け付ける
    MousePointer = 0 '通常のマウスポインタにする
    
End Sub



 

<戻る

Sample26.lzh


http://www.vector.co.jp/authors/VA015521/