如何实现扇形渐变色?

new_new_man 2014-02-18 09:30:02
一个圆环,颜色在圆周方向渐变,请问如何实现?请高手指点,谢谢!
...全文
910 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jun_1129 2015-01-11
  • 打赏
  • 举报
回复
Color colors1[] = { Color(255, 20, 223,4), Color(255, 196, 254,62), Color(255, 253, 252,42), Color(255, 254, 128,1), Color(255, 255, 0, 0) }; REAL positions[] = {0.00f,0.35f,0.45f,0.65f,1.0f}; CRect crect; RectF crectf; crect.SetRect(rectPanel.left+nFrame*3,rectPanel.top+nFrame*3,rectPanel.right-nFrame*3,rectPanel.bottom-nFrame*3); crectf.X=crect.left; crectf.Y=crect.top; crectf.Width=crect.Width(); crectf.Height=crect.Height(); GraphicsPath path1; LinearGradientBrush linGrBrush1(crectf,Color(255,20,223,4),Color(255,255,0,0),135.0f,270.0f); linGrBrush1.SetInterpolationColors(colors1, positions,5); path1.AddArc(crectf,135.0f,270.0f); //path1.CloseFigure(); Pen pen1(&linGrBrush1,15); graphics.DrawPath(&pen1,&path1); graphics.ReleaseHDC(pDC->m_hDC);
shanlxw 2014-06-14
  • 打赏
  • 举报
回复
引用 4 楼 gz_qmc 的回复:
求教育
gz_qmc 2014-03-18
  • 打赏
  • 举报
回复
向立天 2014-03-18
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
new_new_man 2014-02-18
  • 打赏
  • 举报
回复
啊,你这个是用GDI一条一条线的画吧,这样好像效果不大好吧,我之前用GDI+线性渐变画刷画矩形的渐变色,效果很好,但是圆环的渐变就没办法了。
忙碌的小毛驴 2014-02-18
  • 打赏
  • 举报
回复
不太清楚具体的情况。 根据圆周上点的坐标公式,设置RGB随x坐标、y坐标 ++ 或 -- ,就可以实现了。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧