私は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. イメージの配列からアニメーションを作成する
- 6. サーブレットのバイト配列からイメージを作成する
- 7. Javaのピクセルバイト配列からbmpイメージを作成する方法
- 8. バイト配列からイメージを作成する方法
- 9. DICOMイメージの生データからイメージを作成する方法
- 10. データURLからイメージを作成
- 11. MATLAB:uint8イメージのセル配列からムービーを作成
- 12. イメージの数iosのGIFイメージを作成する配列
- 13. forループからずらした配列を作る方法javafx
- 14. JSONから取得したデータの配列を作成する
- 15. MySQLデータからPHP配列の空行を作成する
- 16. 配列からDataFrameを作成する
- 17. チェックボックスから配列を作成する
- 18. テーブルから配列を作成する
- 19. 配列からリストを作成する
- 20. 文字列配列からWebElement配列を作成する
- 21. コレクションタイプのデータ配列を作成する
- 22. 2次元バイト配列からイメージを作成する方法は?
- 23. C#でイメージを作成してからページに配置する
- 24. データ上のチャンクからイメージを作成するノード
- 25. 配列の配列からjson出力を作成する
- 26. VBA - 別の配列から配列を作成する
- 27. Java:別の配列のプロパティから配列を作成する
- 28. テキストファイル/配列から2次元配列を作成する
- 29. Rubyで配列の配列からマップを作成する
- 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