波のエフェクト
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下に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 |