这个代码能否转为AU3的?
这个代码能否转为AU3的?这么短的代码画的图看起来很不错啊。void CRotateAnimation::DrawPie(HDC hDC){
Gdiplus::Graphics* pGraphics=new Gdiplus::Graphics(hDC);
pGraphics->SetSmoothingMode(SmoothingModeHighQuality);
Gdiplus::Color clr(150,0,0,0);
Gdiplus::SolidBrush* pBrush=new Gdiplus::SolidBrush(clr);
//--------------------------------------------------------
//计算外圈、内圈位置
Gdiplus::Rect rcOut(m_Rect);
Gdiplus::Rect rcIn(rcOut);
rcIn.Inflate(-m_ItemSize,-m_ItemSize);
//--------------------------------------------------------
//先画出外圈小方块
float fStartAngle = -90;//起始绘制角度
float fSweepAngle = 360 / m_AnimationCount;//每小块的角度
for(int i=0;i<m_AnimationCount;i++)
{
clr.SetFromCOLORREF(m_pAnimationArray.clrOut);
pBrush->SetColor(clr);
pGraphics->FillPie(pBrush,rcOut, fStartAngle, fSweepAngle - m_MarginAngle);
fStartAngle = fStartAngle + fSweepAngle;
}
//--------------------------------------------------------
//画出内圈小方块;
fStartAngle = -90;
for(int i=0;i<m_AnimationCount;i++)
{
clr.SetFromCOLORREF(m_pAnimationArray.clrIn);
pBrush->SetColor(clr);
pGraphics->FillPie(pBrush,rcIn, fStartAngle, fSweepAngle - m_MarginAngle);
fStartAngle = fStartAngle + fSweepAngle;
}
//--------------------------------------------------------
//画出中间圆心,用控件底色填充
rcIn.Inflate(-m_ItemSize,-m_ItemSize);
clr.SetFromCOLORREF(m_ColorBack);
pBrush->SetColor(clr);
pGraphics->FillEllipse(pBrush,rcIn);
//--------------------------------------------------------
delete pBrush;
delete pGraphics;
}http://blog.csdn.net/CometNet/article/details/53363596 能上完整的代码吗? 你总不能让我们自己去CSDN下载吧,要积分的 像C++的代码,不懂,帮不上忙,不过官方有例子,可以参考https://www.autoitscript.com/forum/topic/139174-gdi-cc-code-to-autoit-conversion/ 画圆还可以,就是旋转那个,感觉是在另外的函数里面控制颜色,把全部代码发出来,看下旋转用的是什么算法。
本帖最后由 joint 于 2017-7-3 00:31 编辑
能上完整的代码吗?
haijie1223 发表于 2017-7-2 21:27 http://www.autoitx.com/images/common/back.gif
不好意思,没看清,以为上面的已经是完整的了,刚才去下载了。
这是完整的: 像C++的代码,不懂,帮不上忙,不过官方有例子,可以参考
lpxx 发表于 2017-7-2 22:52 http://www.autoitx.com/images/common/back.gif
谢谢,前面的代码是VC和易语言的,刚才下载了,在我刚才发的帖子里。 大体就是这么个意思吧?
本帖最后由 joint 于 2017-7-4 09:18 编辑
大体就是这么个意思吧?
haijie1223 发表于 2017-7-3 13:05 http://www.autoitx.com/images/common/back.gif
是的,太牛了,hai大威武。
关注这样的样例是因为需要做个实时动态显示的窗口。 一开始感觉Vispy挺合适,仔细一看,发现太难,需要C和OpenGL相关的基础,根本不是我这样的初学者可以做到的。
前些天刚发现au3的界面功能也挺丰富的,就想探讨下可能性。您是这方面的专家,麻烦帮看看这样的需求用au3做是否合适:
大致如下图:
第一个为柱状堆积图,但是需要实时显示和交互。
第二张图为可交互的色块图,想通过在ListView上添加控件实现,从这个帖子看ListView上添加控件应该没问题:
http://www.autoitx.com/forum.php?mod=viewthread&tid=3028&from=favorites
所以又找了些绘制圆和长方块的源码,希望能把绘图部分的函数提取出来,然后在ListView绘制。
但是这对我来说比较难,所以发了个求助帖:http://www.autoitx.com/thread-55549-1-1.html
但是好像没什么人回复,感觉这个可能也比较难。
因为要绘制的图形都是比较简单的标准图形,所以,后来又想是不是可以直接用字符图案代替图形的绘制?
见:各种字符图案代码
http://www.360doc.com/content/14/0105/15/9708896_342803932.shtml
hai大您是专家,现在有种终于找到组织的感觉,麻烦帮忙看看,我这个需求,采用什么样的方式做比较好。谢谢。 回复 9# joint
你这个需求好像不是一两天了,你这个单似乎在论坛之外就已经看到了。只是要求过于繁琐,没人愿意接。{:face (303):} 本帖最后由 joint 于 2017-7-3 22:39 编辑
回复joint
你这个需求好像不是一两天了,你这个单似乎在论坛之外就已经看到了。只是要求过于繁 ...
haijie1223 发表于 2017-7-3 22:30 http://www.autoitx.com/images/common/back.gif
是啊,这困难困扰我有段时间了。
难点主要在哪里?我看看是否可以简化下。 回复 11# joint
手机爬论坛费劲,Q聊吧 回复 12# haijie1223
ok #include <GDIPlus.au3>
_GDIPlus_GraphicsDrawPie ( $hGraphics, $nX, $nY, $nWidth, $nHeight, $fStartAngle, $fSweepAngle [, $hPen = 0] ) 回复 13# joint
http://www.autoitx.com/thread-55579-1-1.html