高质量程序设计指南:更高质量的 JFreeChart图表

我想将我用 JFreeChart 创建的图表的 PNG 嵌入到 PDF 文档中。这里的问题是,图表的质量很差。我的目标是拥有 300 DPI 的 PNG。我现在搜索了将近一个小时,但我找不到解决方案。

有没有办法从 JFreeCharts 导出生成的图表作为 PNG(或 JPEG)与 300 DPI?

2

也看看org.jfree.chart.ChartUtilities#writeScaledChartAsPNG

如果您提供的比例因子为 2,则图表将以两倍的分辨率呈现。

1

从 1.4 版开始,JFreeChart使用ImageIO提供的png编码器。或者,您可以查看com.keypoint.PngEncoder,其中包括setDpi()et al。另请参见org.jfree.chart.encoders.SunPNGEncoderAdapterorg.jfree.chart.encoders.KeypointPNGEncoderAdapter

0

您可以使用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 的图表来进行科学出版。欢迎反馈!

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(719)
用congratulate造句:删除列表中的逗号并用列表项造句
上一篇
全新奔驰c:Windows的全新安装是否包含标准的 C++库
下一篇

相关推荐

  • docker游戏服务器:如何使用Docker搭建高性能的游戏服务器

    Docker游戏服务器是一种将游戏服务器部署到容器中的方式,它可以帮助游戏开发者快速、轻松地部署游戏服务器,并且可以更轻松地扩展游戏服务器的容量。…

    2023-04-27 09:55:33
    0 52 96
  • javascript数组:排序和搜索

    javascript数组是一种特殊的对象,它可以存储多个值,这些值可以是任何类型的数据。JavaScript数组的元素可以通过索引来访问,数组的索引从0开始,每个元素都有一个索引值。…

    2023-08-28 11:30:24
    0 92 64
  • coremail论客邮箱Coremail论客邮箱

    Coremail论客邮箱是一款专业的企业邮箱服务,可以满足企业对安全、可靠性和高效性的要求。它拥有强大的安全性能,可以提供多种安全保护,包括防止邮件被窃取、拦截恶意邮件、防止跨站脚本攻击等。此外,它还支持多种企业级功能,如组织架构管理、收发邮件管理、文件共享管理、联系人管理等,可以帮助企业提高工作效率,提升企业形象。…

    2023-02-25 04:36:55
    0 86 21
  • canvas下载安装:Unleash the Power of Canvas to Create Amazing Visuals

    Canvas是一种HTML5技术,可以在网页上创建和绘制2D图形。它是一个JavaScript API,可以使用JavaScript代码来绘制图形,并且可以添加各种效果,如阴影,渐变,动画等。…

    2023-03-08 00:48:14
    0 98 74
  • class定位:The Benefits of Using Class Selectors for Element Locati

    示例示例class定位是一种CSS布局技术,用于指定HTML元素的位置,可以使元素放置在页面的任何位置。代码示例:…

    2023-03-06 07:16:44
    0 29 72
  • security code怎么填保护您的数据和隐私

    示例示例code是一种防止自动提交表单的安全措施,通常会在表单中显示一个图片,用户需要输入图片中显示的字符。以下是一个简单的 code代码示例:…

    2023-03-20 09:31:54
    0 19 51
  • for循环中的continue:使用continue跳过循环中的某些步骤

    示例示例是 for 循环的一个控制语句,它用于跳过当前循环的剩余代码,然后继续执行下一次循环。下面是一个使用 语句的示例:…

    2023-07-11 15:34:46
    0 61 32
  • javascript 常量:如何利用JavaScript常量提高编程效率

    示例示例常量是一个不可变的值,它的值在声明之后不能更改。它们可以用来存储程序中使用的固定值,并且可以被多次使用。代码示例:…

    2023-06-16 03:01:55
    0 86 35

发表评论

登录 后才能评论

评论列表(83条)