是否有可能將當前畫布元素中的圖像轉換爲img src
表示的圖像?我可以從canvas元素中獲取圖像並將其用於img src標籤嗎?
我需要在一些轉換後裁剪圖像並保存。我在互聯網上找到的功能有:或ToBlop()
,toDataURL()
, getImageData()
,但我不知道如何在JavaScript中正確實現和使用它們。
這是我的html:
<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>
在JavaScript中應該是這個樣子:
$(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
}
我怎樣才能改變canvas元素爲img src
圖像在這個腳本? (有可能在這個腳本的一些錯誤。)
東西是錯誤的,腳本不適合我,我不知道爲什麼。我將它實現爲showImg()函數,參見我的小提琴http://jsfiddle.net/kacprek/gfyWK/8/ – kassprek 2012-04-21 13:05:17
應該是'canvas.toDataURL()',注意大小寫。 – 2013-06-25 16:29:54