日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaFX如何将WritableImage转换为Image

發布時間:2023/12/3 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。