不是使用普通的plot.setSectionPaint()
方法来填充饼图部分的颜色,而是可以添加图案或图像,如下所示。
我有这个要求,因为当用黑色和黑色印刷时难以区分颜色。白色打印机。
最坏的情况如果不可能那么我将不得不使用2种非常不同的颜色,这些颜色很容易通过黑白打印机区分
答案 0 :(得分:0)
setSectionPaint
允许传递接口java.awt.Paint
的任何实现。 Color
是一个实现Paint
的类,但还有其他类,例如TexturePaint
。
此代码将在您的示例中创建一个类似蓝线图案的TexturePaint
:
BufferedImage texture = new BufferedImage(1, 30, BufferedImage.TYPE_INT_RGB);
Graphics2D g = texture.createGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, 1, 30);
g.setColor(new Color(0x26A2D6));
g.fillRect(0, 0, 1, 20);
g.dispose();
TexturePaint texturePaint = new TexturePaint(texture,
texture.getRaster().getBounds());
然后,您可以将texturePaint
作为参数传递给setSectionPaint
。