krpano 自由截图

<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("网络延迟,请重新拍照");
  });
}

</action>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值