我想将我用 JFreeChart 创建的图表的 PNG 嵌入到 PDF 文档中。这里的问题是,图表的质量很差。我的目标是拥有 300 DPI 的 PNG。我现在搜索了将近一个小时,但我找不到解决方案。
有没有办法从 JFreeCharts 导出生成的图表作为 PNG(或 JPEG)与 300 DPI?
也看看org.jfree.chart.ChartUtilities#writeScaledChartAsPNG
如果您提供的比例因子为 2,则图表将以两倍的分辨率呈现。
从 1.4 版开始,JFreeChart
使用ImageIO
提供的png
编码器。或者,您可以查看com.keypoint.PngEncoder
,其中包括setDpi()
、et al。另请参见org.jfree.chart.encoders.SunPNGEncoderAdapter
和org.jfree.chart.encoders.KeypointPNGEncoderAdapter
。
您可以使用XChart,因为在某个 DPI 上以高分辨率导出Charts
是自version 2.2.0以来的一项新功能。
double[] xData = new double[] { 0.0, 1.0, 2.0 };
double[] yData = new double[] { 2.0, 1.0, 0.0 };
// Create Chart
Chart chart = QuickChart.getChart("Sample Chart", "X", "Y", "y(x)", xData, yData);
// Sw it
new SwingWrapper(chart).displayChart();
// Save it
BitmapEncoder.savePNG(chart, "./Sample_Chart.png"); // default 72 DPI
BitmapEncoder.savePNGWithDPI(chart, "./Sample_Chart_300_DPI.png", 300);
免责声明:我是 XChart 的首席开发人员。我最近遇到了与您完全相同的问题。我需要 300 DPI 的图表来进行科学出版。欢迎反馈!
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(83条)