我在使用JFreeChart生成饼图的时候,用流将图片写到硬盘上,不管怎么修改,图片的颜色总是出错,请教一下怎么处理啊?
PS:发布在web上,用浏览器看也是一样的效果,奇怪了。我用的版本是1.09的,应该跟版本没有关系吧~
下面试代码:
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.OutputStream;import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;public class PieCharImage {
/** * @param args */ public static void main(String[] args) { try { JFreeChart chart = ChartFactory.createPieChart("某公司组织结构图", getDataset(), true, false, false); chart.setTitle(new TextTitle("某公司组织结构图", new Font("宋体", Font.BOLD, 22))); LegendTitle legend = chart.getLegend(0); legend.setItemFont(new Font("微软雅黑", Font.BOLD, 14)); PiePlot plot = (PiePlot) chart.getPlot(); plot.setLabelFont(new Font("隶书", Font.BOLD, 16)); OutputStream os = new FileOutputStream("c://company.jpg"); ChartUtilities.writeChartAsJPEG(os, chart, 500, 400); os.close(); } catch (Exception e) { e.printStackTrace(); } } private static DefaultPieDataset getDataset() { DefaultPieDataset dpd = new DefaultPieDataset(); dpd.setValue("管理人员", 25); dpd.setValue("市场人员", 25); dpd.setValue("开发人员", 45); dpd.setValue("其他人员", 10); return dpd; }
}
问题补充:
保存png的是可以,但是我需要jpg格式的,代码方面应该没有错误啊,这么简单的几行代码!高手啊,指点一下撒,lovewhzlq你说什么问题啊?
问题补充:
lovewhzlq指出哪里有错误吧,谢谢了!
png格式色调没有问题
就jpg的失色~~~