ワイヤレス電話プロジェクターを開発しようとしています。プロジェクターに接続された PC を使用して、電話画面をプロジェクターに表示します。
j2meで実行中のアプリケーションのスクリーンショットをキャプチャする方法について少し混乱しています。
手伝ってくれますか?
j2meでスクリーンショットをキャプチャしたいだけです
ワイヤレス電話プロジェクターを開発しようとしています。プロジェクターに接続された PC を使用して、電話画面をプロジェクターに表示します。
j2meで実行中のアプリケーションのスクリーンショットをキャプチャする方法について少し混乱しています。
手伝ってくれますか?
j2meでスクリーンショットをキャプチャしたいだけです
このスニペットコードを使用すると、アプリのキャンバスの「スクリーンショット」を撮ることができます。
public Image getScreenShot() {
Image screenshot = Image.createImage(getWidth(), getHeight());
Graphics g = screenshot.getGraphics();
paint(g);
return Image.createImage(screenshot);
}
getScreenShot ()を、その「スクリーンショット」が必要な任意のキャンバスに追加します。次に、RGBを取得し、byte []に変換して、ネットワークに渡すことができます。
参照:
developer.nokia
あなたが何をしたかったのかよくわかりませんが、アプリが画面のスクリーンショットを取得する方法を考えているなら、私が言えることは、できることとできないことです。なぜあなたはそれをすることができないのですか?画面を作成する際にキャンバスを使用するとします。Canvas を Image に変換する方法はないと思います。キャンバスは、電話の画面に自分自身を描画するだけに制限されています。ただし、前に述べたように、アプリ画面のスクリーンショットを作成することもできます。必要なのは、Canvas 上の Image オブジェクトです。なぜ画像?これは、Image オブジェクトを画像ファイルに変換できるためです。そして、画像ファイルがスクリーンショットになります。しかしもちろん、キャンバス上の画像オブジェクトの画像ソースを動的に作成するものがあるはずです。
Image myScreen = Image.createImage(createScreen());
画面を作成するメソッド:
InputStream createScreen(){
//dynamically creates the source of the screen
}
myScreenを使用してスクリーンショットを取得できます。ここでの欠点は、レンダリングが非常に遅いことです。これは可能ですが、これを実装するのはちょっと難しいと思います。