我正在使用JFreeChart,并希望使用在灰色和黑色短划线之间交替的线条绘制一系列数据,两者之间没有空格。即grayblackgrayblackgrayblack
JFreeChart只接受AWT Stroke或Shape对象作为渲染系列的方法。
据我了解,BasicStroke只能有一种颜色,并且在不透明和透明之间交替。是否有另一个实现Stroke的类允许多种颜色?或者还有另一种方法可以解决这个问题吗?
答案 0 :(得分:2)
我冒着被冒灭的风险,因为我是一名没有特定AWT或JFreeChart经验的Android程序员,但我会有所作为。
您是否可以通过叠加两条虚线来创建在两种颜色之间交替的虚线,并偏移其中一条的虚线相位以使破折号啮合在一起?我只是看了AWT的BasicStroke
类,我看到这一点以及指定一个破折号数组,你也可以指定破折号'阶段'。
这是一个可能有用的网址,显示相位设置如何影响虚线笔划(靠近页面底部):http://docstore.mik.ua/orelly/java-ent/jfc/ch04_05.htm
答案 1 :(得分:1)
我和JFreeChart有类似的问题。我最终只是扩展了适当的绘图并覆盖了一些绘制方法。这不是一个理想的解决方案,但对JFreeChart的处理方式有一个限制。
答案 2 :(得分:1)
您可以与LinearGradientPaint
一起尝试循环BasicStroke
。
附录:要渲染锐边,请考虑java.awt.TexturePaint。要渲染正交键合,请考虑java.awt.geom.Path2D。