Có khả năng chuyển đổi hình ảnh hiện diện trong phần tử canvas thành hình ảnh đại diện bởi img src
không?Tôi có thể lấy hình ảnh từ phần tử canvas và sử dụng nó trong thẻ img src không?
Tôi cần điều đó để cắt một hình ảnh sau khi một số chuyển đổi và lưu nó. Có một chức năng xem mà tôi tìm thấy trên internet như: FileReader()
hoặc ToBlop()
, toDataURL()
, getImageData()
, nhưng tôi không biết cách triển khai và sử dụng chúng đúng cách trong JavaScript.
Đây là html của tôi:
<img src="http://picture.jpg" id="picture" style="display:none"/>
<tr>
<td>
<canvas id="transform_image"></canvas>
</td>
</tr>
<tr>
<td>
<div id="image_for_crop">image from canvas</div>
</td>
</tr>
Trong JavaScript nó sẽ giống như thế này:
$(document).ready(function() {
img = document.getElementById('picture');
canvas = document.getElementById('transform_image');
if(!canvas || !canvas.getContext){
canvas.parentNode.removeChild(canvas);
} else {
img.style.position = 'absolute';
}
transformImg(90);
ShowImg(imgFile);
}
function transformImg(degree) {
if (document.getElementById('transform_image')) {
var Context = canvas.getContext('2d');
var cx = 0, cy = 0;
var picture = $('#picture');
var displayedImg = {
width: picture.width(),
height: picture.height()
};
var cw = displayedImg.width, ch = displayedImg.height
Context.rotate(degree * Math.PI/180);
Context.drawImage(img, cx, cy, cw, ch);
}
}
function showImg(imgFile) {
if (!imgFile.type.match(/image.*/))
return;
var img = document.createElement("img"); // creat img object
img.id = "pic"; //I need set some id
img.src = imgFile; // my picture representing by src
document.getElementById('image_for_crop').appendChild(img); //my image for crop
}
Làm thế nào tôi có thể thay đổi các yếu tố canvas vào một hình ảnh img src
trong kịch bản này? (Có thể có một số lỗi trong kịch bản này.)
Cái gì là sai , kịch bản không hoạt động cho tôi Tôi không biết tại sao. Tôi đã thực hiện nó như hàm showImg(), xem http://fsfiddle.net/kacprek/gfyWK/8/ – kassprek
fiddle của tôi nên là 'canvas.toDataURL()', chú ý cách viết hoa. –