ユーザーの入力 (ユーザーが SWT GUI で画像を選択) に基づいて、異なる画像テクスチャを持つダイ (キューブ) を作成するプログラムを実行しています。
ユーザーが画像を選択すると、別のダイアログでサイコロを視覚化し、その上でいくつかの回転操作を実行できます (スクリーンショットで 3 つの面を確認するために小さな回転を実行した後を参照)。
スクリーンショットを参照してください: http://pastebin.com/XqJfXL6i
そして、私の問題はここから始まります: キャンバスのコンテンツ (背景が回転した後の現在の形のサイコロ) を保存したいのです。私はいくつかのコードを検索してきましたが、私の問題は、現在のキャンバスが「画面上の」キャンバスであり、コンテンツを保存できるオフスクリーンのキャンバスが必要であるためだと思います。
私の現在のコードは次のとおりです。
そして..ここから問題が始まります。次の例外がスローされます。
java.lang.IllegalStateException: Canvas3D: オフスクリーン モードではありません
具体的には、次の行で失敗します。
ImageComponent2D ic2d = canvas.getOffScreenBuffer();
ご覧のとおり、以前に試したいくつかの行がコメントされていますが、どちらも機能しませんでした。
それを行う方法についての手がかりはありますか?
ありがとう!