私はGUI処理にjavafxを使用して画像処理アプリケーションをプログラミングしています。処理された画像を画面に表示したいと思います。私のプログラマーはdouble [3] [1080] [1920]のような3次元の二重配列としてイメージを扱っていますので、イメージの色空間を減らし、倍精度をバイトまたは(可能であれば)shortに変換する必要があります。 javafxは、浮動小数点値またはRGBコンポーネントのそれぞれの64ビットをサポートしていません。 Imageviewはファイルや入力ストリームからのみデータを読み込むことができるので、BufferedImageを作成し、配列からconvertetデータを入力し、BufferedImageエンコーディングをJPEG、BMP、PNGまたはGIFとしてストリームに書き込む必要があることがわかりましたこのストリームをjavafx.scene.image.Imageのコンストラクタで読み込み、このイメージをImageViewに渡します。配列を画像に変換する残酷な方法で、私は新しいファイル形式でエンコードすることを望んでいましたが、これに代わる方法は見つかりませんでした(javafxを使用しない場合を除く)。
私の最初の質問:
BufferedImageのsetRGBメソッドは、すべての色成分をintとしてまとめて取ります。正しい方法でそれらをどのように組み合わせることができますか?
私の2番目の質問:
各コンポーネントの8ビット以上を保存するための方法はありますか?
ありがとうございました!データ配列からjavafxイメージを作成する
3
A
答えて
1
WritableImage
はPixelFormat.getByteRgbInstance()
からPixelFormat
セットとPixelWriter
のsetPixels
を使用して、正確にそのようにbyte
アレイを処理PixelFormat
を提供します。
関連する問題
- 1. データから配列を作成する
- 2. laravelコレクションからデータ配列を作成
- 3. 絶対パスからJavaFXイメージを作成する方法は?
- 4. イメージの配列からアニメーションを作成する
- 5. Javaのピクセルバイト配列からbmpイメージを作成する方法
- 6. バイト配列からイメージを作成する方法
- 7. サーブレットのバイト配列からイメージを作成する
- 8. 整数ピクセル配列からイメージを作成する
- 9. DICOMイメージの生データからイメージを作成する方法
- 10. データURLからイメージを作成
- 11. MATLAB:uint8イメージのセル配列からムービーを作成
- 12. forループからずらした配列を作る方法javafx
- 13. イメージの数iosのGIFイメージを作成する配列
- 14. MySQLデータからPHP配列の空行を作成する
- 15. 文字列配列からWebElement配列を作成する
- 16. 2次元バイト配列からイメージを作成する方法は?
- 17. Java:別の配列のプロパティから配列を作成する
- 18. VBA - 別の配列から配列を作成する
- 19. Rubyで配列の配列からマップを作成する
- 20. テキストファイル/配列から2次元配列を作成する
- 21. 配列の配列からjson出力を作成する
- 22. データ上のチャンクからイメージを作成するノード
- 23. データから3D配列を生成
- 24. javafxからノートアプリケーションを作成します
- 25. グラフを配列データから作成し、範囲が
- 26. シード/キーから大規模な配列/データを作成
- 27. JavaFXでXYChart.Seriesの配列を作成することは可能ですか?
- 28. JavaFXでコントローラの配列を作成することは可能ですか?
- 29. 配列の既存の配列から新しい配列を作成する
- 30. JavaFX - イメージ付きのカスタムボタンを作成する
ファイル形式を経由する必要はありません。 'ImageView'を作成し、' setImage(...) 'で 'Image'を直接設定することができます。 [WritableImage'](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/WritableImage.html)とその[PixelWriter](http:// docs。 oracle.com/javase/8/javafx/api/javafx/scene/image/PixelWriter.html)を使用して、データをイメージに挿入します。 –
'WritableImage'を使って私は変換を避けるだけでなく、' setPixels'を 'PixelFormat.getByteRgbInstance'と共に使用して、データを' byte'配列として扱うことができます。それはたくさんの助けになりました。ありがとう! – Niclas