我有一个类需要能够接收图像并添加一组轴。我不想自己编写代码,而是宁愿懒惰并使用JFreeChart库。
这是我到目前为止所做的事情,据我所知,它没有做任何事情:
public void addAxis(Image sourceImage, double min, double max)
{
NumberAxis numAxis = new NumberAxis();
numAxis.setRange(min, max);
int width = sourceImage.getWidth(null);
int height = sourceImage.getHeight(null);
Rectangle2D size = new Rectangle(width, height);
Graphics2D graphics = (Graphics2D) sourceImage.getGraphics();
numAxis.draw(graphics, 0, size, size, RectangleEdge.LEFT, null);
return;
}
我传递给它的Image
使用BufferedImage
创建为TYPE_INT_ARGB
。
可能还有其他库更适合这种情况,但遗憾的是很难获得批准将库添加到我的项目中并且JFreeChart已经获得批准。为了其他读者的利益,请随时提及替代图书馆。
编辑:出于各种原因,我需要在图像上绘制轴,我无法在图表上绘制图像或做任何会改变图像大小的图像。
答案 0 :(得分:1)
想出来,发布给任何想要做同样事情的人。
该行
numAxis.draw(graphics, 0, size, size, RectangleEdge.LEFT, null);
应该是
numAxis.draw(graphics, 20, size, size, RectangleEdge.LEFT, null);
否则从图像中提取轴。我没有弄清楚这一点(我正在为这一个做准备)因为轴正在获得我在图形对象上使用的最后一种颜色,这恰好是绘制背景。