Могу ли я получить изображение из элемента canvas и использовать его в теге img src?

Есть ли возможность преобразовать изображение, присутствующее в элементе canvas, в изображение, представленноеimg src?

Мне нужно это обрезать изображение после некоторого преобразования и сохранить его. Есть функции просмотра, которые я нашел в интернете:FileReader() или жеToBlop(), toDataURL(), getImageData(), но я понятия не имею, как правильно их реализовать и использовать в JavaScript.

Это мой HTML:

<code><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>
</code>

В JavaScript это должно выглядеть примерно так:

<code>$(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
}
</code>

Как я могу изменить элемент холста вimg src изображение в этом сценарии? (В этом скрипте могут быть некоторые ошибки.)

Ответы на вопрос(5)

Ваш ответ на вопрос