當我點擊「拍照」時,我只是得到一個黑屏。我一直在嘗試3個小時來解決這個問題,但我已經陷入了死衚衕。我可以選擇平板電腦上的圖片,但我無法拍攝新照片。我的JS代碼如下所示:使用html 5拍攝圖片和js
function hasSelectedPhoto() {
var x = 0, y = 0, width = 150, height = 130;
var takePicture= document.querySelector("#take-picture"),
showPicture= document.querySelector("#show-picture");
if (takePicture&& showPicture) {
takePicture.onchange = function (event) {
var files = event.target.files, file;
if (files && files.length > 0) {
file = files[0];
var reader = new FileReader();
reader.onload = function (e) {
var imageUrl = e.target.result, c = showPicture, context = c.getContext("2d"),
imageObject = new Image();
imageObject.onload = function() {
context.clearRect(x, y, width, height);
context.drawImage(imageObject, x, y, width, height);
};
imageObject.src = imageUrl;
};
reader.readAsDataURL(file);
}
};
}
}
和HTML代碼:
<div id="uploadedImageDiv" style="margin-left: 10px; width:300px; float: left;">
@Html.LabelFor(m => m.NoteViewModel.ImageUpload)
@Html.TextBoxFor(m => m.NoteViewModel.ImageUpload, new { id="take-picture", type = "file", accept = "image/*" })
<input type="button" id="cancelPicture" value="Annuller billede" style="visibility: hidden;" />
<button type="reset" id="resetUploadedImage" style="display: none"></button>
</div>
<canvas id="show-picture" style="display: none; border: medium solid #cccccc; margin-top: -50px;" width="150" height="125">
</canvas>
我知道有一堆js代碼,但我真的希望有人可能會看到一個錯誤我的代碼,使得med無法拍照。我提前
哪裏是試圖拍照的代碼?那你提到的「拍照」按鈕在哪裏? – 2015-03-03 10:40:46
我編輯了我的代碼,因此您可以看到照片的拍攝地點。文本「拍照」是當我點擊文本框拍攝圖片時ipad變大的一個文本框 – user1960836 2015-03-03 11:30:45
然後看起來問題來自平板電腦,而不是瀏覽器。 – 2015-03-03 11:33:40