2016-10-14 1 views
1

私は3D webglキャンバスでイオンアプリを作成しました。 は私が(https://www.npmjs.com/package/com.darktalker.cordova.screenshotから)次のコードでのWebGLコンテンツを含む私のhtmlのスクリーンショットを取ってみました:3D WebGLコンテンツなしのイオニックスクリーンショット

navigator.screenshot.save(function(error, res) { 
    if (error) { 
    console.error(error); 
    } else { 
    console.log('screenshot saved in: ', res.filePath); 
    defer.resolve(res.filePath); 
    } 
}, extension, quality, filename); 

スクリーンショットが正常に取得されますがレンダリングされた3Dキャンバスが欠落しています。なぜそれが起こるのか分かりません。私にヒントをお願いしますか?同じ問題に遭遇した人のために

答えて

1

、私は次の回避策使用してそれを解く:

単にあなたの<canvas id="cv" ></canvas>以下<img id="placeholder" src=""/>を追加し、次のようにスクリーンショット機能を変更する:

render(); 
var data = document.getElementById("cv").toDataURL(); 
document.getElementById("placeholder").src = data; 
window.setTimeout(function(){ 
    navigator.screenshot.save(function(error, res) { 
    if (error) { 
     console.error(error); 
    } else { 
     console.log('screenshot saved in: ', res.filePath); 
     defer.resolve(res.filePath); 
    } 
    document.getElementById("placeholder").src = ""; 
    }, extension, quality, filename); 
    return defer.promise; 
},1000); 

あなたのことを確認してくださいスクリーンショットを撮る前にDOMを更新できるように遅延を追加してください!

関連する問題