0
我可以通過畫布html控件上傳圖片,但問題是當我第一次上傳圖片時,該圖片未在canvas中上傳並且再次,如果我選擇了同樣的圖像,那麼該圖像在畫布中上傳得非常好。這意味着,在我的場景中,如果用戶首先將圖像上載到畫布上,那麼他們應該上傳圖像兩次,但是當用戶第一次上載圖像時需要上傳圖像,然後該圖像應該顯示在畫布上。請檢查下面的腳本和html5標記是否我做了一些錯誤,請告訴我如何解決這類問題。提前致謝。將圖片上傳到畫布上時需要單個動作
<!--HTML5 tags Implementation-->
<input type="file" id="imageLoader" name="imageLoader" onchange="readURL(this);"/>
<canvas id="imageCanvas"></canvas>
<!--JavaScript Implementation-->
<script type="text/javascript">
var imageLoader = '';
var canvas = '';
var ctx = '';
function readURL(input) {
//alert('test');
imageLoader = document.getElementById('imageLoader');
//imageLoader.addEventListener('change', handleImage,false);
imageLoader.addEventListener('change', this.handleImage.bind(this), false);
canvas = document.getElementById('imageCanvas');
ctx = canvas.getContext('2d');
};
function handleImage(e) {
var reader = new FileReader();
reader.onload = function (event) {
var img = new Image();
console.log(img);
img.onload = function() {
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
}
img.src = event.target.result;
}
reader.readAsDataURL(e.target.files[0]);
};
</script>