yamakawa 发表于 2017-7-24 11:51:13

谁能帮我看下,中间的线怎么去掉。GDI+作图相关【已解决】

本帖最后由 yamakawa 于 2017-7-24 15:49 编辑

#cs
网上弄的c代码,尝试转au3.。。技术不够。yamakawa
#ce

#include <GDIPlus.au3>
AutoItSetOption("GUIOnEventMode", 1)

_GDIPlus_Startup()
    Global Const $iBackColor = 0xFF000000 + 0x00FF00
    Global Const $hGUI = GUICreate("有缺陷的旋转太极图-谁能告诉我,特么的中间那条线怎么干掉",620,620)
        GUISetOnEvent(-3, "_Exit")
        Global Const $nCtrlId = GUICtrlCreatePic("", 50, 50, 520, 520)
    Global Const $hPicWnd = GUICtrlGetHandle($nCtrlId)
    Global Const $Brush_B = _GDIPlus_BrushCreateSolid(0XFFFFFFFF)
        Global Const $Brush_w = _GDIPlus_BrushCreateSolid(0xFF000000)
    GUISetState(@SW_SHOW)       
       
           Global $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hPicWnd)
        Global $hBufImg = _GDIPlus_BitmapCreateFromScan0(500, 500)
    Global $hBufGraph = _GDIPlus_ImageGetGraphicsContext($hBufImg)
        _GDIPlus_GraphicsTranslateTransform($hBufGraph, 250,250)
        _GDIPlus_GraphicsSetSmoothingMode($hBufGraph, $GDIP_SMOOTHINGMODE_HIGHQUALITY)

Global $iAngle = -3
Do

_GDIPlus_GraphicsRotateTransform($hBufGraph, $iAngle)
_GDIPlus_GraphicsClear($hBufGraph, $iBackColor)

;画呀画,我画太极
        _GDIPlus_GraphicsFillPie ( $hBufGraph, -200, -200, 400, 400, 0, 180 , $Brush_B)
        _GDIPlus_GraphicsFillPie ( $hBufGraph, -200, -200, 400, 400, 180, 180 , $Brush_w)

        _GDIPlus_GraphicsFillPie ( $hBufGraph, -200, -100, 200, 200, 180, 180 , $Brush_B)
        _GDIPlus_GraphicsFillPie ( $hBufGraph, 0, -100, 200, 200, 0, 180 , $Brush_w)

    _GDIPlus_GraphicsFillEllipse ( $hBufGraph, 80, -20, 40, 40 , $Brush_B )
    _GDIPlus_GraphicsFillEllipse ( $hBufGraph, -120, -20, 40, 40 , $Brush_w )

        ;好吧,画好了

_GDIPlus_GraphicsDrawImage($hGraphics, $hBufImg, 0, 0)

Until GUIGetMsg() = -3

Func _Exit()
        _GDIPlus_BrushDispose($Brush_B)
        _GDIPlus_BrushDispose($Brush_w)
        _GDIPlus_GraphicsDispose($hBufGraph)
        _GDIPlus_GraphicsDispose($hGraphics)
        _GDIPlus_Shutdown()
        GUIDelete($hGUI)
        Exit
EndFunc   
白色区域中间那条黑线,,,,谁能帮我干掉他。

afan 发表于 2017-7-24 12:59:40

坐标问题。34 35 行改为:
      _GDIPlus_GraphicsFillPie ( $hBufGraph, -200, -99, 200, 200, 180, 180 , $Brush_B)
      _GDIPlus_GraphicsFillPie ( $hBufGraph, 0, -101, 200, 200, 0, 180 , $Brush_w)

yamakawa 发表于 2017-7-24 14:37:13

回复 2# afan


    搞定。。谢了。a版
页: [1]
查看完整版本: 谁能帮我看下,中间的线怎么去掉。GDI+作图相关【已解决】