Ogni volta che il browser viene ridimensionata, la seguente soluzione ridimensiona le dimensioni della tela in base alle dimensioni della finestra con la creazione di un rapporto iniziale.
Jsfiddle: http://jsfiddle.net/h6c3rxxf/9/
Nota: La tela ha bisogno di essere ri-disegnato, quando viene ridimensionata.
HTML:
<canvas id="myCanvas" width="300" height="300" >
CSS:
canvas {
border: 1px dotted black;
background: blue;
}
JavaScript:
(function() {
// get the precentage of height and width of the cavas based on the height and width of the window
getPercentageOfWindow = function() {
var viewportSize = getViewportSize();
var canvasSize = getCanvastSize();
return {
x: canvasSize.width/(viewportSize.width - 10),
y: canvasSize.height/(viewportSize.height - 10)
};
};
//get the context of the canvas
getCanvasContext = function() {
return $("#myCanvas")[0].getContext('2d');
};
// get viewport size
getViewportSize = function() {
return {
height: window.innerHeight,
width: window.innerWidth
};
};
// get canvas size
getCanvastSize = function() {
var ctx = getCanvasContext();
return {
height: ctx.canvas.height,
width: ctx.canvas.width
};
};
// update canvas size
updateSizes = function() {
var viewportSize = getViewportSize();
var ctx = getCanvasContext();
ctx.canvas.height = viewportSize.height * percentage.y;
ctx.canvas.width = viewportSize.width * percentage.x;
};
var percentage = getPercentageOfWindow();
$(window).on('resize', function() {
updateSizes();
});
}());
fonte
2015-06-25 01:46:46
Inserisci contenuti HTML di ciò che si desidera ridimensionare. –
Impossibile aiutare con nessun codice ... Si potrebbe provare '$ (" canvas "). Width (numero) .height (numero)' –
ci si va ... – maxhud