0
キャンバスに画像を1つアップロードしました。ここにはDEMOがあります。今、問題は、私が写真をアップロードして、別の写真をアップロードしたいとき、前の写真がまだ残っているということです。キャンバスに画像をアップロード
これは私のコードです:
JS:
var canvas = document.getElementById('main');
var ctx = canvas.getContext('2d');
var fileInput = document.getElementById('fileInputTest');
fileInput.addEventListener('change', imageLoader, false);
function imageLoader() {
var reader = new FileReader();
reader.onload = function(event) {
img = new Image();
img.onload = function() {
var MAX_WIDTH = 150;
var MAX_HEIGHT = 150;
var width = img.width;
var height = img.height;
if (width > height) {
if (width > MAX_WIDTH) {
height *= MAX_WIDTH/width;
width = MAX_WIDTH;
}
} else {
if (height > MAX_HEIGHT) {
width *= MAX_HEIGHT/height;
height = MAX_HEIGHT;
}
}
ctx.drawImage(img, 0, 0, width, height);
}
img.src = reader.result;
}
reader.readAsDataURL(fileInput.files[0]);
}
HTML:
<input type="file" id="fileInputTest" />
<canvas id="main" width="150" height="150"></canvas>
はCSS:
#main {
border: 2px dotted black;
border-radius: 5px position: absolute;
}
[クリア](https://developer.mozilla.org/en/USA/docs/Web/API/CanvasRenderingContext2D/clearRect)あなたのキャンバス...しかし、キャンバスを使用する理由もわかりませんが、あなたは絶対にFileReaderを必要としません... – Kaiido
私はそれをカスタマイズするために使用しています。キャンバスに写真をアップロードすると、Tシャツの中央に表示されます。それはclearRectで動作していません。 –
https://jsfiddle.net/wvnmxj0q/1/が動作します。私は気分がいいので、不要なFileReaderはありません。https://jsfiddle.net/wvnmxj0q/2/ – Kaiido