|
@@ -3257,9 +3257,16 @@ export class Viewer extends ViewerBase{
|
|
|
|
|
|
this.needRender = true
|
|
|
|
|
|
- //let { dataUrl } = viewerMaster.makeScreenshot( new THREE.Vector2(width,height), null, compressRatio );
|
|
|
- let canvas = document.getElementsByTagName('canvas')[0]
|
|
|
- let dataUrl = canvas.toDataURL()
|
|
|
+ if(info.useRenderTarget){
|
|
|
+ //离屏渲染 有抗锯齿问题、在手机上速度慢
|
|
|
+ var { dataUrl } = viewerMaster.makeScreenshot( new THREE.Vector2(width,height), null, compressRatio );
|
|
|
+
|
|
|
+ }else{
|
|
|
+ //直接渲染 会改变canvas大小
|
|
|
+ let canvas = this.renderArea.getElementsByTagName('canvas')[0]
|
|
|
+ this.render({ screenshot : true, width , height, resize :true }); //需要resize
|
|
|
+ var dataUrl = canvas.toDataURL('image/jpeg',compressRatio)
|
|
|
+ }
|
|
|
|
|
|
if(!Potree.settings.isOfficial){
|
|
|
Common.downloadFile(dataUrl, 'screenshot.jpg')
|
|
@@ -3271,8 +3278,8 @@ export class Viewer extends ViewerBase{
|
|
|
|
|
|
oldStates.viewports.forEach(old=>{//恢复相机
|
|
|
var viewport = viewports.find(v=>v.name == old.name);
|
|
|
- viewport.left = old.left;
|
|
|
- viewport.width = old.width;
|
|
|
+ viewport.left = old.left; viewport.bottom = old.bottom;
|
|
|
+ viewport.width = old.width; viewport.height = old.height
|
|
|
viewport.view.copy(old.view)
|
|
|
viewport.view.applyToCamera(viewport.camera);
|
|
|
|