-1
我製作了一個接收上傳文件到畫布元素的輸入表單。由於不同的圖片有不同的尺寸,所以上傳的圖片始終拉伸至適合我的畫布尺寸,即400
* 350
。裁剪畫布圖像源的確切中心
如何將上傳圖像的確切中心裁剪爲我的畫布大小的比例,以便將上傳的圖像放入畫布中。
<input type='file' id="fileUpload" />
<canvas id="up_canvas" width="400" height="350" style="border: 1px solid red;"></canvas>
<script>
//get input as canvas
function el(id){return document.getElementById(id);}
var canvas_one = el("up_canvas");
var context_one = canvas_one.getContext("2d");
function readImage() {
if (this.files && this.files[0]) {
var FR= new FileReader();
FR.onload = function(e) {
var img = new Image();
img.onload = function() {
context_one.drawImage(img, 0, 0, 400, 350);
};
img.src = e.target.result;
};
FR.readAsDataURL(this.files[0]);
}
}
el("fileUpload").addEventListener("change", readImage, false);
</script>