如何将BufferedImage转换为Printable,以便我可以使用printJob

时间:2011-08-15 21:29:15

标签: java printing

我已经编写了允许我打印框架的代码,但现在我想使用printJob,因为它为用户提供了更多的打印选项(例如选择要使用的打印机)。有没有快速的方法将BufferedImage转换为Printable,所以我可以在我的代码中使用printjob? THX

if(command.equals("Print")){
         //saves image as temp and then prints it 

    File out = new File("temp.jpg");
    BufferedImage myImage = new BufferedImage((int) frame.getWidth(), 
                        (int) frame.getHeight(),
                        BufferedImage.TYPE_INT_RGB );

    frame.paintAll(myImage.createGraphics());
    try{
        ImageIO.write(myImage, "jpg", out);
        PrintImage.printImage("temp.jpg");
    }catch (IOException exception){
        exception.printStackTrace();
    } catch (Exception e2) {
        e2.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:4)

您可以使用getGraphics获取帧的底层Graphics对象,然后将其传递给printPrinterJob方法。