極座標の画像
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下にLZHとしてあります
Option Explicit '点の取得と点の絵画のAPI 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 Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long Private Sub Command1_Click() Dim jx, jy, pw, ph, Hpw, ex, ey, pai, picHdc1, picHdc2 Command1.Enabled = False 'Command1のイベントを無効にする pai = 3.14159265358979 / 180 'ラジアンへの変換値 'Picture1の幅を代入 pw = Picture1.ScaleWidth - 1 ph = Picture1.ScaleHeight - 1 'Picture2の横幅の1/2を代入 Hpw = Picture2.ScaleWidth / 2 Picture2.Cls '表示をクリア 'Pictureのhdcを代入 picHdc1 = Picture1.hdc picHdc2 = Picture2.hdc For jy = 0 To ph Picture2.Refresh '作成した絵を表示 DoEvents 'イベントの取得 'もっと表示を精密にしたい場合は、Stepを0.1にしてください For jx = 0 To pw Step 1 '極座標へ ex = Cos(((jx / pw) * 360) * pai) * jy ey = Sin(((jx / pw) * 360) * pai) * jy '色の取得と点の表示 SetPixel picHdc2, Hpw + ex, Hpw + ey, GetPixel(picHdc1, jx, jy) Next jx, jy Picture2.Refresh '作成した絵を表示 Command1.Enabled = True 'Command1のイベントを有効にする End Sub Private Sub Command2_Click() Picture1.ZOrder 'Picture1をFormのトップに表示 End Sub Private Sub Command3_Click() Picture2.ZOrder 'Picture2をFormのトップに表示 End Sub |