考虑使用jfreechart,它将缩放图形以填充封闭的容器。中看到的示例
这里,封闭容器是一个ChartPanel被添加到该CENTER帧的默认的
BorderLayout。这将使图形随着封闭框架的大小而增大和缩小。
该通用方案使用线性插值法映射模型和视图坐标。给定以下比例,您可以相乘并求解丢失的坐标,如此完整
示例所示,该示例将鼠标坐标映射到图像中的像素坐标。
view.x : panelWidthInPixels :: model.x : modelXRangeview.y : panelHeightInPixels :: model.y : modelYRange
我不想使用JFreeChart。还有其他办法吗?
是的,正如@MadProgrammer评论一样,您可以
使用上面显示的比例将数据缩放到封闭容器中。引用的示例隔离了基本方法。JFreeChart是一个功能齐全的示例。
使用缩放比例将渲染的图像缩放到封闭的容器BufferedImage。本示例将 ComponentHandler绘制成一个BufferedImage大小足以填充附件的JPanel。该background图像在的实现中呈现paintComponent()。调整框架大小以查看效果。
使用应用于图形上下文的变换将渲染的图像缩放到封闭的容器。



