谁能帮我看下,中间的线怎么去掉。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
白色区域中间那条黑线,,,,谁能帮我干掉他。 坐标问题。34 35 行改为:
_GDIPlus_GraphicsFillPie ( $hBufGraph, -200, -99, 200, 200, 180, 180 , $Brush_B)
_GDIPlus_GraphicsFillPie ( $hBufGraph, 0, -101, 200, 200, 0, 180 , $Brush_w) 回复 2# afan
搞定。。谢了。a版
页:
[1]