3

頻繁に更新されるビットマップのメモリマップトファイルを作成するWindowsC++アプリケーションがあります。このメモリマップファイルにアクセスして、Javaアプリケーションでライブイメージを表示したいと思います。どうやってやるの?

FileChannelをメモリにマップできることは知っていますが、別のプロセスによって作成されたメモリマップファイルにアクセスする方法がわかりません。

JavaアプリケーションですでにJNAを使用していますが、標準のWindowsメモリマップトファイル機能にアクセスするためにJNAを使用する必要がありますか?

または、別のプログラムで作成された画像からJavaでライブ画像ストリームを表示するためのメモリマップトファイル以外の解決策はありますか?

4

3 に答える 3

2

JNI を使用して C++ (Win32 メモリ マップ ファイル) から Java にブリッジするコード サンプルがここにあります。シナリオによっては、セキュリティとスレッド化のためのクリーンアップが必要になる場合がありますが、そのまま機能する可能性があります。

于 2010-11-01T19:19:36.477 に答える
1

私は最終的にjnaとそれらが提供するプラットフォームライブラリを使用しました。Kernel32パッケージは、 CreateFileMappingおよびMapViewOfFile関数へのアクセスを提供します。

于 2010-11-09T03:39:52.567 に答える
0

メモリ マップト ファイルはファイルのままです。java.io で読み取るか、Java でもメモリ マップする場合は、java.nio の MappedByteBuffer を使用できます。

于 2010-11-01T22:28:08.243 に答える