zjs_project преди 1 година
родител
ревизия
84713315d5

+ 1 - 1
src/components/krpanoVideo/index.vue

@@ -102,7 +102,7 @@
 					console.warn("***scale-webgl_rxdz_krpanoVideo***", newVal,'---',oldVal)
 					if(this.panoramicKrpano){
 						let sc = newVal;
-						if(newVal.includes('{')){
+						if(newVal.toString().includes('{')){
 							let scale = JSON.parse(newVal);
 							sc = scale.x;
 						}

+ 2 - 2
src/components/krpanoVideo/panoramic.xml

@@ -76,8 +76,8 @@
 			atv="14"
 			url="https://dm.static.elab-plus.com/videoplayer.js"
 			videourl=""
-			width="90"
-			height="160"
+			width="180"
+			height="320"
 			chromakey="0x238E54|0.294|0.133"
 			preload="true"
 			pausedonstart="false"

+ 43 - 224
src/components/krpanoVideo/panoramic_no_drag.xml

@@ -1,5 +1,27 @@
 <krpano version="1.20.9" title="Virtual Tour">
-
+	<!-- <plugin name="pp_light" keep="true"
+		url="https://dm.static.elab-plus.com/miniProgram/krpano/plugins/pp_light.js"
+		enabled="true"
+		exposure="0.0"
+		lights="1.0"
+		shadows="5.0"
+		filterrange="60.0"
+		masking="1.0"
+		quality="7"
+		order="1"
+		phase="1"
+		/>
+	
+	<plugin name="pp_sharpen" keep="true"
+		url="https://dm.static.elab-plus.com/miniProgram/krpano/plugins/pp_sharpen.js"
+		enabled="true"
+		strength="5.0"
+		range="5"
+		quality="5"
+		luminanceonly="true"
+		order="2"
+		phase="1"
+		/> -->
 	<action name="mytest">
 		screentosphere(mouse.x, mouse.y, toh, tov);
 		jscall(calc('console.log("'+toh+'")'));
@@ -23,7 +45,7 @@
 
 		<control bouncinglimits="calc:image.cube ? true : false" />
 
-		<view hlookat="50.082" vlookat="12.404" fovtype="MFOV" fov="90.000" maxpixelzoom="2.0" fovmin="70" fovmax="120"
+		<view hlookat="50.082" vlookat="12.404" fovtype="MFOV" fov="90.000" maxpixelzoom="4.0" fovmin="70" fovmax="120"
 			limitview="auto" />
 
 		<!-- <preview
@@ -38,11 +60,13 @@
 		</image>
 		<!-- <preview url="test3333.png"/> 			onloaded.addevent="sceneload();"-->
 		<hotspot name="video" ath="50.082" atv="14" url="https://dm.static.elab-plus.com/videoplayer.js" videourl=""
-			width="90" height="160" chromakey="0x238E54|0.294|0.133" preload="true" pausedonstart="false" loop="true"
+			width="180" height="320" chromakey="0x238E54|0.294|0.133" preload="true" pausedonstart="false" loop="true"
 			distorted="true" muted="true" zoom="true" autopause="true" autoresume="true" scale="1"
 			onvideoready="videoreadyFunc" onvideoplay="videoplayHandle" cursor="grab"
 			onclick="togglepause();" enabled="false"
-			ondown.addevent="set(cursor,grabbing);" onup.addevent="set(cursor,grab);" />
+			ondown.addevent="set(cursor,grabbing);" onup.addevent="set(cursor,grab);" >
+		</hotspot>
+		
 		<action name="mobilescale" autorun="preinit" devices="mobile">
 			mul(stagescale,0.5);
 		</action>
@@ -79,54 +103,39 @@
 		</action>
 		<!-- 截图 -->
 		<action name="makescreenshot_init" type="Javascript" autorun="onstart"><![CDATA[
-			// Load the FileSaver.js script for saving files locally cross browser.
-			// Source: https://github.com/eligrey/FileSaver.js/
-		
 			// count the screenshots (for the filenames)
 			krpano.makescreenshot_count = 1;
-			
-			
 			// create an empty Object as makeScreenshot cache
 			var makeScreenshotCache = {};
-		
-		
 			// add a 'makescreenshot' action to krpano
 			krpano.makescreenshot = function(leftX,leftY,screenshotwidth,screenshotheight)
 			{
 				// if there is already a screenshot layer, remove it now
-				// krpano.call("removelayer(screenshot,true)");
-				console.warn("***leftX***",leftX,leftY,screenshotwidth,screenshotheight)
+				console.warn("***makescreenshot***",krpano.webGL,leftX,leftY,screenshotwidth,screenshotheight)
+				var canvas = krpano.webGL.canvas;
+				var pix = window.devicePixelRatio;
 				// make a screenshot as canvas
-				var sizeinfo = {w:screenshotwidth, h:screenshotheight};
+				var sizeinfo = {w:screenshotwidth*pix, h:screenshotheight*pix};
 				var crop = {
-					x:leftX,
-					y:leftY,
-					w:screenshotwidth, 
-					h:screenshotheight
+					x:leftX*pix,
+					y:leftY*pix,
+					w:screenshotwidth*pix, 
+					h:screenshotheight*pix
 				};
 				var screenshotcanvas = krpano.webGL.makeScreenshot(
-					0, 
-					0, 
+					canvas.width, 
+					canvas.height,
 					true, 
-					"canvas", 
-					0, 
+					"png",
+					1.0, 
 					crop, 
 					sizeinfo, 
 					makeScreenshotCache);
 				
 				if (screenshotcanvas)
 				{
-					// example - draw something on the canvas, set to 1 to enable
-					if (0)
-					{
-						var ctx = screenshotcanvas.getContext("2d");
-						ctx.font = "25px Times";
-						ctx.fillStyle = "#FFFFFF";
-						ctx.fillText("krpano makeScreenshot() API Test", 50, screenshotcanvas.height-50);
-					}
-		
-					// add some krpano layers that show the screenshot and allow saving it
-					var imgBase64 = screenshotcanvas.toDataURL();
+					// var imgBase64 = screenshotcanvas.toDataURL();
+					var imgBase64 = screenshotcanvas;
 
 					screenshot(imgBase64);
 					
@@ -155,199 +164,9 @@
 						});
 					}
 				}
-			}
-		
+			}	
 		]]>
 		</action>
 		
-		<action name="makescreenshot" type="Javascript">
-			<![CDATA[
-			if (krpano.webGL && krpano.webGL.context.getContextAttributes().preserveDrawingBuffer)
-			{
-				try{
-					var canvas = krpano.webGL.canvas,
-					screenx = Number(args[1]),
-					screeny = Number(args[2]),
-					vfw = Number(args[3]),
-					vfh = Number(args[4]),
-					maxsize = Number(args[5]),
-					jpeg_quality = krpano.get('panoshot.jpeg_quality'),
-					watermark = krpano.get('panoshot.watermark'),
-					scaledCanvas=document.createElement("canvas"),
-					scaledContext=scaledCanvas.getContext('2d');
-			
-					if(vfw > vfh){
-						if(vfw > maxsize){
-							scaledCanvas.width=maxsize;
-							scaledCanvas.height=maxsize*vfh/vfw;
-						}else{
-							scaledCanvas.width=vfw;
-							scaledCanvas.height=vfh;
-						}
-					}else {
-						if(vfh > maxsize){
-							scaledCanvas.height=maxsize;
-							scaledCanvas.width=maxsize*vfw/vfh;
-						}
-						else{
-							scaledCanvas.width=vfw;
-							scaledCanvas.height=vfh;
-						}
-					}
-			
-					scaledContext.drawImage(canvas,screenx,screeny,vfw,vfh,0,0,scaledCanvas.width,scaledCanvas.height);	
-					var img_src = scaledCanvas.toDataURL("image/jpeg",+jpeg_quality);
-					screenshot(img_src,watermark);
-				}catch(err){
-					krpano.trace(3,err);
-				}
-			}else{
-				krpano.trace(3,"no webgl or no preserveDrawingBuffer");
-			}
-			  
-			function screenshot(dataURL,watermark){
-				var pluginpath = krpano.get('panoshot.snapshot_path'),
-				savecreenshot = pluginpath + 'savescreenshot.php';
-				var request = $.ajax({
-					type: "POST",
-					url: savecreenshot,
-					data: { 
-						imgBase64: dataURL,
-						watermark: watermark
-					}
-				});
-		  
-				request.done(function(file) {
-					var url = document.URL,
-					new_url = url.split("?")[0],
-					almostpath = url.substring(0,url.lastIndexOf("/")),
-					path = almostpath + '/',
-					imgurl = pluginpath +file,
-					vtb_url = krpano.get('vtbuilder_snapshotlink'),
-					scene = krpano.get('scene[get(xml.scene)].name');
-					vh = krpano.get('vh'),
-					vv = krpano.get('vv'),
-					vf = krpano.get('vf');
-					if(vtb_url !== null){new_url = vtb_url}
-					else
-					if(scene !== null){new_url = new_url + '?sceneview=' + scene + ',' + vh + ',' + vv + ',' + vf};
-					var viewurl_encode = encodeURIComponent(new_url);
-					krpano.set("viewurl", viewurl_encode);
-					krpano.set("panourl", url);
-					krpano.set("fullpath", path);
-					krpano.set("imgurl", imgurl);
-					krpano.call("show_img()");
-				});
-		
-				request.fail(function(jqXHR, textStatus) {
-					alert("Request failed: " + textStatus);
-				});
-			}
-			]]>
-		</action>
-		<action name="makescreenshot_mobile" type="Javascript">
-			<![CDATA[
-			if (krpano.webGL && krpano.webGL.context.getContextAttributes().preserveDrawingBuffer)
-			{
-				try{
-					var canvas = krpano.webGL.canvas,
-					vfw = Number(args[1]),
-					vfh = Number(args[2]),
-					maxsize = Number(args[3]),
-					jpeg_quality = krpano.get('panoshot.jpeg_quality'),
-					watermark = krpano.get('panoshot.watermark'),	
-					scaledCanvas = document.createElement("canvas"),
-					scaledContext = scaledCanvas.getContext('2d');
-				
-					scaledCanvas.style.visibility = 'hidden';
-				
-					if(vfw > vfh){
-						if( vfw > maxsize ){
-							scaledCanvas.width=maxsize;
-							scaledCanvas.height=maxsize*vfh/vfw;
-						} else {
-							scaledCanvas.width=vfw;
-							scaledCanvas.height=vfh;
-						}
-					}
-					else {
-						if( vfh > maxsize ){
-							scaledCanvas.height=maxsize;
-							scaledCanvas.width=maxsize*vfw/vfh;
-						}else{
-							scaledCanvas.width=vfw;
-							scaledCanvas.height=vfh;
-						}
-					};
-			
-					var img = new Image();
-					img.src = krpano.webGL.canvas.toDataURL();
-					img.onload = function(){
-						scaledContext.drawImage(canvas,0,0,scaledCanvas.width,scaledCanvas.height);	
-						var img_src = scaledCanvas.toDataURL("image/jpeg",+jpeg_quality);
-						
-						var blank = isCanvasBlank(document.getElementById('canvas'));
-					
-						function isCanvasBlank(scaledCanvas) {
-							var blank = document.createElement('canvas');
-							blank.width = canvas.width;
-							blank.height = canvas.height;
-						
-							return canvas.toDataURL() == blank.toDataURL();
-						}
-						if (blank) {
-							krpano.call("try_again()");
-						}
-						else {
-							screenshot(img_src,watermark)
-						}
-					}
-				}catch(err){
-				   krpano.trace(3,err);
-				}
-			}else{
-				krpano.trace(3,"no webgl or no preserveDrawingBuffer");
-			}
-			  
-			function screenshot(dataURL,watermark){
-				var pluginpath = krpano.get('panoshot.snapshot_path'),
-				savecreenshot = pluginpath + 'savescreenshot.php';
-				var request = $.ajax({
-					type: "POST",
-					url: savecreenshot,
-					data: { 
-						imgBase64: dataURL,
-						watermark: watermark
-					}
-				});
-			  
-				request.done(function(file) {
-					var url = document.URL,
-					new_url = url.split("?")[0],
-					almostpath = url.substring(0,url.lastIndexOf("/")),
-					path = almostpath + '/',
-					imgurl = pluginpath +file,
-					vtb_url = krpano.get('vtbuilder_snapshotlink'),
-					scene = krpano.get('scene[get(xml.scene)].name');
-					vh = krpano.get('vh'),
-					vv = krpano.get('vv'),
-					vf = krpano.get('vf');
-					if(vtb_url !== null){new_url = vtb_url}
-					else
-					if(scene !== null){new_url = new_url + '?sceneview=' + scene + ',' + vh + ',' + vv + ',' + vf};
-					var viewurl_encode = encodeURIComponent(new_url);
-					krpano.set("viewurl", viewurl_encode);
-					krpano.set("panourl", url);
-					krpano.set("fullpath", path);
-					krpano.set("imgurl", imgurl);
-					krpano.call("show_img()");
-				});
-
-				request.fail(function(jqXHR, textStatus) {
-					alert("Request failed: " + textStatus);
-				});
-			}
-			]]>
-		</action>
 	</scene>
 </krpano>

+ 1 - 0
src/pages/webgl_rxdz_krpanovr/webgl_rxdz_krpanovr.scss

@@ -39,6 +39,7 @@ page {
 	left: 20px;
 	top: 650px;
 	border-radius: 50%;
+	z-index: 99;
 }
 .slide-mask{
 	position: absolute;