0
..AndroidのOpenGLの私は、このようなコードを書いた
@Override
public void onDrawFrame(GL10 gl) {
/* codes */
saveBitmap(takeScreenshot(gl));
}
これは完璧な作業(スクリーンショットを撮るとSDカードにビットマップを保存)
私はトリガー
としてボタンを使いたいですButton btn;
@Override
public void onCreate{
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveBitmap(takeScreenshot(currGL10));
}
});
}
@Override
public void onDrawFrame(GL10 gl) {
/* codes */
currGL10 = gl;
}
それは..私は、私はこのように使用して失われた何かということを理解できないだけで黒画像を保存するには...ありがとう
回避策:ボタンをクリックすると、onDrawFrame'のBitmapをキャプチャして保存します。 –
私はこれを試しました、それは働いています...私のプログラムは何度もonDrawFrame()を使用し、パフォーマンスの低下を引き起こすため、毎回ビットマップをキャプチャできません..(takeScreenshotはループのネストされています)..ありがとう – Huseyin
チャンス'saveBitmap()'が現在のOpenGLコンテキストを必要とする 'glReadPixels()'呼び出しを行うということです。したがって、レンダリングスレッド以外のスレッドから呼び出すことはできません。説明については、ここを参照してください:http://stackoverflow.com/questions/30094705/glclearcolor-not-working-correct-android-opengl。これは同じユースケースではなく、同じ基本的な問題です。 –