怎么绘制在宽度方向具有不同颜色的直线呢?最好不要用LineDDA方法自己去一个点一个点的话。
就是比如说一条直线宽为3个像素,让外边两个像素显示为红色,中间的像素显示为绿色,这样的直线怎么话?

解决方案 »

  1.   

    如果是画宽度为10的直线,那也想线条的最外侧一层像素是红色,然后往里一层是紫色,再往里一层又是其他颜色。画出来的线两端是圆的。用LaoWu_的方法画10此,但是要保证两端是圆的,就要自己算端点的啊。
    用fandh的方法5次,直接moveto,LineTo就可以让它两端是圆冒状的。但是在线条比较多的时候,好像这两个方法都会影响速度来着。
      

  2.   

    影响速度是没有办法的事,你一条线包含几种颜色,首先微软的GDI与GDI+我就不知道能有这样的函数支持!对于微软的GDI资源,设备DC画的时候,每次只能选一种颜色!GDI+有渐变,不知道你说的是不是GDI+的渐变!
      

  3.   

    怀疑你想实现的是GDI+渐变方式填充!
      

  4.   

    fandh说得对,类似渐变填充,就像有的软件用二维来模拟三维管道一样
      

  5.   

    Path加2段弧2条线。closeconfig...
    对path,使用渐变画刷从上倒下设置混色因子填充即可
    不过用GDI+渐变未必比GDI快。