<action name="makescreenshot" type="Javascript">
if (krpano.webGL && krpano.webGL.context.getContextAttributes().preserveDrawingBuffer){
try{
console.log("=========截图开始============");
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/jpg",+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){
console.log("上传img: "+dataURL);
var pluginpath = krpano.get('panoshot.plugin_path'),
savecreenshot = pluginpath + '';
var request = $.ajax({
type: "POST",
url: "localhost:8080/webVR/cmdImg/screenshot.do",
data: {
imgBase64: dataURL,
watermark: watermark
}
});
request.done(function(data){
window.location.reload();
});
request.fail(function(jqXHR, textStatus) {
alert("网络延迟,请重新拍照");
});
}
if (krpano.webGL && krpano.webGL.context.getContextAttributes().preserveDrawingBuffer){
try{
console.log("=========截图开始============");
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/jpg",+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){
console.log("上传img: "+dataURL);
var pluginpath = krpano.get('panoshot.plugin_path'),
savecreenshot = pluginpath + '';
var request = $.ajax({
type: "POST",
url: "localhost:8080/webVR/cmdImg/screenshot.do",
data: {
imgBase64: dataURL,
watermark: watermark
}
});
request.done(function(data){
window.location.reload();
});
request.fail(function(jqXHR, textStatus) {
alert("网络延迟,请重新拍照");
});
}
</action>