Изменить размер изображения с помощью JavaScript для использования внутри холста createPattern

Мы видели несколько хитростей о том, как изменить размер изображения, которое вы хотите использовать внутри IMG-тега, но я хочу иметь переменную изображения внутри Javascript, изменить ее размер и затем использовать изображение внутри context.createPattern (image, "повторение"). Я не нашел ни одного намека на то, как это сделать.

Вы можете найти функциональную демонстрацию наhttp://karllarsson.batcave.net/moon.html с изображениями о том, что я хочу сделать.

Решение от Loktar выглядит хорошо. У меня нетУ меня было время, чтобы исправить правильный аспект, но теперь я знаю, как это сделать. Еще раз, спасибо. Вот рабочая демкаhttp://karllarsson.batcave.net/moon2.html

Это две линии, которые я неработать, как я хочу их тоже.

image.width = side * 2;

image.height = side * 2;

function drawShape() {
    try {
        var canvas = document.getElementById('tutorial');                 
        var image = new Image();                                          
        image.src = "http://xxx.yyy.zzz/jjj.jpg";                         
        image.width = side * 2;                                           
        image.height = side * 2;                                          

        if (canvas.getContext){
            var ctx = canvas.getContext('2d');                            
            ctx.clearRect(0, 0, canvas.width, canvas.height);             
            ctx.fillStyle = ctx.createPattern(image, "repeat");           
            ctx.beginPath();                                              
            var centerX = canvas.width / 2 - side / 2;                    
            var centerY = canvas.height / 2 - side / 2;                   
            ctx.rect(centerX, centerY, side, side);                       
            ctx.fill();                                                   
        } else {
            alert('You need Safari or Firefox 1.5+ to see this demo.');   
        }
    } catch (err) {
        console.log(err);                                                 
    }
}

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

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