找回密码
 加入
搜索
楼主: joint

[图形处理] 这个代码能否转为AU3的?

 火...   [复制链接]
 楼主| 发表于 2017-7-10 16:02:37 | 显示全部楼层
回复 15# haijie1223

看到了,厉害,感觉比我那个需求复杂多了。
咋就不能把我那个需求也做一下呢?这个只是赚点金币,我那个是付人民币的啊。
 楼主| 发表于 2017-7-10 16:11:48 | 显示全部楼层
本帖最后由 joint 于 2017-7-10 16:30 编辑

回复 14# rikthhpgf2005

谢谢,刚才翻了些你的帖子,也是资深高手啊。
是否能帮忙做一下?可以付费。谢谢。
最近眼睛不行,帮助文件都看不清,字体设置到最大了还要拿个放大镜看,非常不方便。

(au3帮助文件的字体能不能把字号设置大些啊,已经选最大了还是看不清。)
 楼主| 发表于 2017-7-10 16:22:38 | 显示全部楼层
本帖最后由 joint 于 2017-7-13 17:29 编辑

参考柱状图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2017-7-10 16:26:30 | 显示全部楼层
本帖最后由 joint 于 2017-7-10 18:07 编辑

回复 15# haijie1223

再看看这个能不能也翻译下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2017-7-10 17:34:50 | 显示全部楼层
回复 19# joint


    请附上 QApplication 文件
 楼主| 发表于 2017-7-10 18:00:37 | 显示全部楼层
回复  joint
    请附上 QApplication 文件
haijie1223 发表于 2017-7-10 17:34


郁闷,找不到是从哪个地方下的了,好像只有这一个源码文件啊。
发表于 2017-7-10 18:02:12 | 显示全部楼层
回复 21# joint


    因为这个调用了VC自己的库,不知道里面进行了什么算法。
发表于 2017-7-12 15:26:37 | 显示全部楼层
回复 22# haijie1223


    借楼问下大神,,,先说明,俺gdi+是粉嫩粉嫩的新人。。
   
  1.俺先画了楼主要求的同心圆,然后在上面画模拟雷达扫描的饼图,同心圆就没了。应该是因为
_GDIPlus_GraphicsClear()
请问怎么做?试着放两个画布,可是下面那个好像会被盖住,也是看不见。。。请原谅粉嫩新人的无知,怎么做比较好?

2.俺让雷达扫描饼图旋转起来了。。。可是会闪烁。。。怎么破?好像还是因为
_GDIPlus_GraphicsClear()
发表于 2017-7-12 16:19:55 | 显示全部楼层
回复 23# yamakawa


    放代码看下
发表于 2017-7-12 21:07:49 | 显示全部楼层
回复 24# haijie1223
    #include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>
#include <GDIPlus.au3>
#include <APIConstants.au3>
#include <WinAPIEx.au3>
AutoItSetOption("GUIOnEventMode", 1)


Global Const $psize = "500"


Global $pen1,$hBitmap1,$hBackbuffer1
Global $hBrush,$hBitmap2,$hBackbuffer2

Global $mGui = GUICreate("GDI+TEST 1", $psize + 20, $psize + 20)
Global $pic1 = GUICtrlCreatePic("", 10, 10, $psize, $psize)
Global $hpic1 = GUICtrlGetHandle($pic1)
Global $pic2 = GUICtrlCreatePic("", 10, 10, $psize, $psize)
Global $hpic2 = GUICtrlGetHandle($pic2)

GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetState(@SW_SHOW)

_GDIPlus_Startup()

_gdi_first()
Sleep(1000)
_gdi_second()

;第一个画布画同心圆
Func _gdi_first()
        Local $move = $psize / 20
           Local $hGraphics1 = _GDIPlus_GraphicsCreateFromHWND($hpic1) 
        $hBitmap1 = _GDIPlus_BitmapCreateFromGraphics($psize, $psize, $hGraphics1)
    $hBackbuffer1 = _GDIPlus_ImageGetGraphicsContext($hBitmap1)
        _GDIPlus_GraphicsSetSmoothingMode($hBackbuffer1, 2)
        _GDIPlus_GraphicsClear($hBackbuffer1, 0xFF000000 + 0x303030) 

        Local $pen1 = _GDIPlus_PenCreate(0x9C00FF00) 
        For $i = 0 To 9
        _GDIPlus_GraphicsDrawEllipse ($hBackbuffer1, ($i) * $move, ($i) * $move, $psize - ($i) * 2 * $move, $psize - ($i) * 2 * $move, $pen1) ;draw the egg
        Next
        
;画XY线
    _GDIPlus_GraphicsDrawLine($hBackbuffer1, 0, $psize /2, $psize, $psize / 2, $Pen1)
    _GDIPlus_GraphicsDrawLine($hBackbuffer1, $psize /2, 0, $psize / 2, $psize, $Pen1)
;草稿好了,绘图        
   _GDIPlus_GraphicsDrawImageRect($hGraphics1, $hBitmap1, 0, 0, $psize, $psize)

   Sleep(20)
EndFunc;==>到此结束第一个画布

Func _gdi_second()
           Local $hGraphics2 = _GDIPlus_GraphicsCreateFromHWND($hpic2)
        $hBitmap2 = _GDIPlus_BitmapCreateFromGraphics("500", "500", $hGraphics2)
    $hBackbuffer2 = _GDIPlus_ImageGetGraphicsContext($hBitmap2)
        _GDIPlus_GraphicsSetSmoothingMode($hBackbuffer2, 2) 
;~         $hBrush = _GDIPlus_LineBrushCreate(0, 0, $psize / 2, $psize / 2, 0xFFFFFFFF, 0xFFFF0000, 3);线性笔刷方向钉死后好像不闪烁了?
    For $angel = 0 To 360 
                If $angel = 360 Then $angel = 0
;~         _GDIPlus_GraphicsClear($hBackbuffer2, 0xFFFFFFFF + 0x303030)
;~         _GDIPlus_GraphicsClear($hGraphics2, 0xFFFFFFFF + 0x303030)

;~         _GDIPlus_BrushDispose($hBrush)
If $angel > 180 And $angel < 360 Then 
     $hBrush = _GDIPlus_LineBrushCreate($psize / 2, $psize / 2, 250 - Cos($angel) * $psize / 2, 250 - Sin($angel) * $psize / 2, 0x9C00FF00, 0x9A000000, 3)
Else
     $hBrush = _GDIPlus_LineBrushCreate($psize / 2, $psize / 2, 250+ Cos($angel) * $psize / 2, 250+ Sin($angel) * $psize / 2, 0x9C00FF00, 0x9A000000, 3)
EndIf
        _GDIPlus_GraphicsFillPie ($hBackbuffer2, 0, 0, $psize, $psize,$angel,45, $hBrush) ;draw the egg
   _GDIPlus_GraphicsDrawImageRect($hGraphics2, $hBitmap2, 0, 0, 500, 500)
        _GDIPlus_BrushDispose($hBrush)
        
Next

EndFunc;==>到此结束第二个画布



While 1
Sleep(20)                
WEnd

Func _Exit() ;
    _GDIPlus_PenDispose($pen1)
    _GDIPlus_BitmapDispose($hBitmap1)
        

    _GDIPlus_BitmapDispose($hBitmap2)
        _GDIPlus_Shutdown
        GUIDelete($mGui)
        Exit
EndFunc   ;==>_Exit
好忧伤,,技术不够不知道咋办了
发表于 2017-7-13 00:07:15 | 显示全部楼层
回复 25# yamakawa


    一直在画,却没有清理
发表于 2017-7-13 09:25:47 | 显示全部楼层
学习中 请稍后
发表于 2017-7-13 09:35:02 | 显示全部楼层
本帖最后由 yamakawa 于 2017-7-13 09:36 编辑

回复 26# haijie1223


    清理了就把同心圆给弄没了。。。
;~         _GDIPlus_GraphicsClear($hGraphics2, 0xFFFFFFFF + 0x303030)
这个取消注释就不停闪。。。
发表于 2017-7-13 16:17:47 | 显示全部楼层
参考柱状图。
joint 发表于 2017-7-10 16:22

不错,柱状图2

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2017-7-13 17:10:21 | 显示全部楼层
本帖最后由 joint 于 2017-7-13 17:24 编辑

回复 29# chzj589

你试试怎样才能堆积起来?就是每个竖条是由多个数据组成的。
我觉得au3画堆积柱状图和色块图应该都没问题,只是我刚接触,水平不行。
实际上把这个图放在ListView上差不多就是第二个表了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 18:50 , Processed in 0.069013 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表