Hello
Im trying to capture part of the screen as new image to download, the example Makescreenshot api works for all the screen but i need just the part that is in frame
Code
// add a 'makescreenshot' action to krpano krpano.makescreenshot = function() { // if there is already a screenshot layer, remove it now krpano.call("removelayer(screenshot,true)");
var otherKRPano = document.getElementById("krpanoSWFObject");
var query = "layer[imageCamera]"; var myHotspot = otherKRPano.get(query);
var imgLayerW = myHotspot.DATA.width; var imgLayerH = myHotspot.DATA.height; var imgLayerX = myHotspot.DATA.x; var imgLayerY = myHotspot.DATA.y;
//krpano.call("set(layer[introimage].visible,false)");
// create an empty Object as makeScreenshot cache krpano.makeScreenshotCache = {};
// make a screenshot as canvas var sizeinfo = {w:imgLayerW, h:imgLayerH}; var screenshotcanvas = krpano.webGL.makeScreenshot(imgLayerX, imgLayerY, true, "canvas",0, null, sizeinfo, krpano.makeScreenshotCache);
img = new Image(); img.src = screenshotcanvas.toDataURL();
var ctx = screenshotcanvas.getContext("2d");
if (screenshotcanvas) { // example - draw something on the canvas if (0) { var ctx = screenshotcanvas.getContext("2d"); }
// add some krpano layers that show the screenshot and allow saving it var container = krpano.addlayer("screenshot"); container.type = "container"; container.align="center"; container.registercontentsize(sizeinfo.w, sizeinfo.h); // container.width = sizeinfo.w > sizeinfo.h ? "70%" : "prop"; // container.height = sizeinfo.w > sizeinfo.h ? "prop" : "70%"; container.width = imgLayerW; container.height = imgLayerH; container.bgcolor = 0xFFFFFF; container.bgalpha = 0.0; container.bgshadow = "0 5 40 0x000000 0.0"; container.bgroundedge = 1; container.bgcapture = true; container.zorder = 99; container.onclick = "set(enabled,false);tween(alpha,0,0.2,default,removelayer(get(name),true));"; container.onover = "tween(layer[screenshotsaveasbutton].alpha,1,0.2)"; container.onout = "tween(layer[screenshotsaveasbutton].alpha,0,0.2)";
var image = krpano.addlayer("screenshotimage"); image.url = screenshotcanvas.toDataURL(); image.parent = "screenshot"; image.align = "center"; image.width = -10; image.height = -10; image.zorder = 1; image.enabled = false;
Display More