AutoIT画sin及圆图形

来源:互联网 发布:cad软件免费中文版 编辑:程序博客网 时间:2024/06/05 08:28


#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>


$pi = 3.14159265358979
$num=1
Example1()
Example2()




Func Example1()
    Local $msg


    GUICreate("control Test", 680, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN)) ; 创建一个居中显示的 GUI 窗口
    
For $i=1 To 640 Step 1
$y = Sin($i * $pi / 180) * 230

GUICtrlCreateLabel ("",10+$i,300-$y,3,2)
GUICtrlSetBkColor (-1,0xffaa00)
GUICtrlCreateLabel ("*",$i,300,5,5)
GUICtrlCreateLabel ("*",6,$y+305,5,9)

If $i == 1 Then
GUICtrlCreateLabel ("0",10+$i,310)
EndIf
If Mod($i,90) == 0 Then
GUICtrlCreateLabel (90*$num,$i,310)
$num=$num+1
EndIf
Next

GUISetState(@SW_SHOW) ; 显示一个空白的窗口
    ; 运行界面,直到窗口被关闭
    While 1
        $msg = GUIGetMsg()


        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc


$R=200


Func Example2()
    Local $msg


    GUICreate("control Test", 680, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN)) ; 创建一个居中显示的 GUI 窗口
    
For $i=0 To 200 Step 1
$y = Sqrt((200^2 - $i^2))
;画圆
GUICtrlCreateLabel ("",350+$i,$y+300,3,2)
GUICtrlSetBkColor (-1,0xffaa00)
GUICtrlCreateLabel ("",350+$i,300-$y,3,2)
GUICtrlSetBkColor (-1,0xffaa00)
GUICtrlCreateLabel ("",350-$i,$y+300,3,2)
GUICtrlSetBkColor (-1,0xffaa00)
GUICtrlCreateLabel ("",350-$i,300-$y,3,2)
GUICtrlSetBkColor (-1,0xffaa00)
;内凹
GUICtrlCreateLabel ("",150+$i,100+$y,3,2)
GUICtrlSetBkColor (-1,0xffaa00)
GUICtrlCreateLabel ("",150+$i,500-$y,3,2)
GUICtrlSetBkColor (-1,0xffaa00)
;圆心向外 
GUICtrlCreateLabel ("",350-$i,$y+100,3,2)
GUICtrlSetBkColor (-1,0xffaa00)
GUICtrlCreateLabel ("",350-$i,500-$y,3,2)
GUICtrlSetBkColor (-1,0xffaa00)

Next

GUICtrlCreateLabel ("*",347,298,5,9)
GUISetState(@SW_SHOW) ; 显示一个空白的窗口
    ; 运行界面,直到窗口被关闭
    While 1
        $msg = GUIGetMsg()


        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()

EndFunc








0 0
原创粉丝点击