как конвертировать BufferedImage в Printable, чтобы я мог использовать printJob - PullRequest
0 голосов
/ 16 августа 2011

Я уже написал код, который позволит мне печатать мой фрейм, но теперь я хочу использовать printJob, поскольку он дает пользователю больше возможностей для печати (например, выбор принтера для использования).Есть ли быстрый способ конвертировать BufferedImage в Printable, чтобы я мог использовать printjob в своем коде?спасибо

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 Ответ

4 голосов
/ 16 августа 2011

Вы можете использовать getGraphics , чтобы получить базовый графический объект фрейма, а затем передать его в метод print PrinterJob .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...