使用带有dynamicreports的现有图像

时间:2013-02-22 13:19:58

标签: java dynamic-reports

我正在将现有图像导出到DynamicReports:

public class DReportSample {

    public DReportSample() {
        build();
    }

    private void build() {  
            StyleBuilder boldStyle         = stl.style().bold();
            StyleBuilder boldCenteredStyle = stl.style(boldStyle).setHorizontalAlignment
                    (HorizontalAlignment.CENTER);
            //BufferedImage img = new BufferedImage(1200,1200,BufferedImage.TYPE_INT_RGB);
           BufferedImage img = null;
try {
   // img = ImageIO.read(new File("D:/Hysteresis.png"));
    img = ImageIO.read(new File("D:/Hysteresis.png"));
} catch (IOException e) {
}
        try {
            report()//create new report design
                         // .setColumnTitleStyle(boldStyle)
                         // .setColumnStyle(boldStyle)
                          .highlightDetailEvenRows()
              .columns(//add columns

                col.column(null,"Col_1",      type.stringType()),
                col.column(null,"Col_2",  type.stringType())
                                )
                           .summary(
        cmp.verticalList()
            .add(cmp.text("\n\nHYSTERISIS PLOT").setStyle(boldStyle))

            .add(cmp.image(img))  // Add the exported chart image to the report.

    )
              .title(cmp.text("XYZ Hospital").setStyle(boldCenteredStyle))//shows report title
              .pageFooter(cmp.pageXofY())//shows number of page at page footer
              .setDataSource(createDataSource())//set datasource
              .show();//create and show report
        } catch (DRException e) {
            e.printStackTrace();
        }
    }

但问题是图像看起来是固定大小说(300,300)像素。我希望它看起来更大,

我尝试手动将图像调整为双倍尺寸,然后使用上面的代码,但它又出现了相同尺寸(300,300)

然后我尝试通过我的代码使用调整大小的版本并尝试:

BufferedImage img = new BufferedImage(1200,1200,BufferedImage.TYPE_INT_RGB);

但它不起作用:

然后我尝试了:

.add(cmp.image(img.getScaledInstance(600, 600, 5)))  

它使图像显得更小。

有人可以告诉我如何在我的dynamicreports文件中导入具有所需尺寸的图像。另请指导,如何更改文字的字体样式,颜色和大小。

由于

1 个答案:

答案 0 :(得分:4)

.add(cmp.image(img).setFixedDimension(500,400))

解决了这个问题。

有人可以告诉我如何在dynamicReports

中更改文字的字体样式,颜色和大小