JavaFX如何将WritableImage转换为Image
生活随笔
收集整理的這篇文章主要介紹了
JavaFX如何将WritableImage转换为Image
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載自??JavaFX如何將WritableImage轉換為Image
我正在做一些應用程序,制作截圖LineChart并將其保存為pdf,所以我不知道將WritableImage(JavaFX 2.2)轉換為Image(iText lib)的平滑方式。
臨時解決方案是
- 然后,制作快照
- 獲得WritableImage從該快照
- 將圖像寫入png文件
- 打開圖像并制作iText對象?Image
我想做一些更改:我不想將png文件寫入光盤,我只想將快照寫入pdf
WritableImage wim = new WritableImage((int) lineChart.getWidth(),(int) lineChart.getHeight());Scene scena = primaryStage.getScene();scena.snapshot(wim);File fileA = new File("C://Graphs/chart.png");try {ImageIO.write(SwingFXUtils.fromFXImage(wim, null), "png", fileA);}catch (Exception s) {}pdfDocument.add(preface3);com.itextpdf.text.Image graph =com.itextpdf.text.Image.getInstance("C://Graphs/chart.png");pdfDocument.add((com.itextpdf.text.Element) graph);用途:
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();ImageIO.write( SwingFXUtils.fromFXImage( wim, null ), "png", byteOutput );com.itextpdf.text.Image graph; graph = com.itextpdf.text.Image.getInstance( byteOutput.toByteArray() );從畫布中復制繪圖,將復制到WritableImage,而不是從WritableImage獲得圖像
WritableImage wi = new WritableImage((int)gc.getCanvas().getWidth(), (int)gc.getCanvas().getHeight());gc.getCanvas().snapshot(null, wi); //Coping all that now in Canvas//gc is GraphicContext object from Canvas, it has drawing functionsBufferedImage bi =SwingFXUtils.fromFXImage((Image)wi, null); SwingFXUtils.toFXImage(bi, (WritableImage)image);?
總結
以上是生活随笔為你收集整理的JavaFX如何将WritableImage转换为Image的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2个相见恨晚的浏览器插件2个相见恨晚的浏
- 下一篇: Java自动化邮件中发送图表(一)