私は1280x960の画像を取得し、drawImageを使用して600ピクセルの高さになるようにサイズ変更しようとしています。私はこれを達成する必要があるが、適用する方法がわからないと思う比...私は幅を作り、結果のイメージのサイズを指定することができますどのようにdrawImage画像を500pxの高さに戻す
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>
出てきました自動?私は最終的には、この関数が任意の画像を500ピクセルの高さにサイズ変更したいと考えています。
ありがとうございました!それは素晴らしい作品のように見えます。ちょうどそれを通り越して – fightstarr20
私はJSFiddleの外でこれを動作させるのに苦労しています、crossOriginステートメントは何をしていますか? – fightstarr20
アップロードボタンからのファイル入力を受け入れるためにこれを少し修正しました。新しい質問が作成されました。https://stackoverflow.com/questions/46329669/drawimage-resize-image-with-aspect-ratio-not- work-from-file-upload-input – fightstarr20