Bonjour, j'essaye de faire une capture d'écran d'une portion du canevas et de la réduire si plus large ou haut que 1024px.
Ca fonctionne très bien sauf sous IOS qui enregistre toujours un fond noir
Voici le lien : https://wwww.360images.fr/krpano_snapshot
Et le code :
var canvas = krpano.webGL.canvas;
var screenx = krpano.get("screenx");
var screeny = krpano.get("screeny");
var vfw = krpano.get("vfw");
var vfh = krpano.get("vfh");
var scaledCanvas=document.createElement('canvas');
var scaledContext=scaledCanvas.getContext('2d');
if(vfw > vfh){
if( vfw > 1024 )
{
scaledCanvas.width=1024;
scaledCanvas.height=1024*vfh/vfw;
scaledContext.drawImage(canvas,screenx,screeny,vfw,vfh,0,0,1024,1024*vfh/vfw);
}
else{
scaledCanvas.width=vfw;
scaledCanvas.height=vfh;
scaledContext.drawImage(canvas,screenx,screeny,vfw,vfh,0,0,vfw,vfh);
}
}
else {
if( vfh > 1024 )
{
scaledCanvas.height=1024;
scaledCanvas.width=1024*vfw/vfh;
scaledContext.drawImage(canvas,screenx,screeny,vfw,vfh,0,0,1024*vfw/vfh,1024);
}
else{
scaledCanvas.width=vfw;
scaledCanvas.height=vfh;
scaledContext.drawImage(canvas,screenx,screeny,vfw,vfh,0,0,vfw,vfh);
}
};
var img_src = scaledCanvas.toDataURL("image/jpeg",0.6);
A noter que avant que j'ajoute la fonction crop ça marchais très bien sous IOS, sauf iPad2...
scaledContext.drawImage(canvas,0,0,width,height);
Une idée d'ou viens le bug ?
Merci !!!