我有List<Point>
个多点。如何将这些点绘制到位图中,以获得与此相同的结果:
http://img291.imageshack.us/img291/4462/outputtz.png
已知点数,我只需要以某种方式实现这种渐变效果。
请注意,渐变不是径向的,如果将折线解开为直线,则会从一端到另一端获得简单的线性渐变。我只需要沿着线的“断点”扭曲这个线性渐变。
我目前的解决方案是分别绘制每一行,同时为每一行计算正确的开始颜色和结束颜色,这样我就可以使用LinearGradientBrush
然后是DrawLine
。
1)除了自己计算颜色外,还有其他解决方案吗?
2)如何绘制圆形线条(如图像所示)?我的解决方案是绘制普通线,每端有椭圆,但这些椭圆不会有渐变,所以如果线很短,则没有渐变。
答案 0 :(得分:1)
关于圆形末端,您可以为您设置此属性Pen
Graphics g = e.Graphics;
Pen p = new Pen(Color.Brown, 15);
// round ends
p.StartCap = LineCap.Round;
p.EndCap = LineCap.Round;
g.DrawLine(p, 30, 80, Width - 50, 80);//can be replace with you code
因此,您可以更改画布笔。