J'essaie de prendre l'image qui est 1280x960 et la redimensionner en utilisant drawImage de sorte qu'il est de 600 pixels de haut. Je travaille sur le rapport que je pense que je dois y parvenir, mais ne sais pas comment appliquer ...drawImage redimensionner l'image à 500px haute
var canvas = document.getElementById('mycanvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.onload = function() {
canvas.height = this.height;
canvas.width = this.width;
ratio = canvas.height/canvas.width;
console.log(canvas.width + 'x' + canvas.height + ' | ratio = ' + ratio);
ctx.drawImage(img, 0, 0, 300, 500);
}
img.src = 'https://c.slashgear.com/wp-content/uploads/2015/06/dxo-one-sample-3-1280x960.jpg';
<canvas id="mycanvas"></canvas>
Comment puis-je spécifier la taille de l'image résultante, ce qui rend la largeur automatique? Je veux finalement que cette fonction redimensionne n'importe quelle image à 500 pixels de haut.
Merci beaucoup! Cela ressemble à ça fonctionne très bien. Je suis juste en train de le faire maintenant – fightstarr20
Je me bats pour que cela fonctionne en dehors de JSFiddle, que fait la déclaration crossOrigin? – fightstarr20
Avoir modifié légèrement ceci pour accepter une entrée de fichier d'un bouton de téléchargement qui ne fonctionne pas, ont créé une nouvelle question https://stackoverflow.com/questions/46329669/drawimage-resize-image-with-aspect-ratio-not- working-from-file-upload-input – fightstarr20