2011-08-15 3 views
0

Я уже написал код, который позволит мне печатать мой кадр, но теперь я хочу использовать printJob, поскольку он дает пользователю больше возможностей для печати (например, выбор того, какой принтер использовать) , Есть ли быстрый способ скрытого BufferedImage для печати, поэтому я могу использовать 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(); 
    } 
} 

ответ

4

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

Смежные вопросы