очистить холст для перезагрузки изображения? - PullRequest
0 голосов
/ 24 февраля 2012

Что я здесь не так делаю ??

Я записываю изображение в canvs, используя тег изображения html5. что я хочу заменить последнее изображение на клик нового изображения .. Я могу загрузить изображение, но при нажатии следующего изображения оно перекрывает последнее загруженное изображение. Вот код .. Я пытаюсь использовать функцию clearRect ()

           function drawImage(imageObj){

            var stage = new Kinetic.Stage("container", 578, 500);
            var layer = new Kinetic.Layer();
            var x = stage.width / 2 - 200 / 2;
            var y = stage.height / 2 - 137 / 2;
            var width = 200;
            var height = 137;

            // darth vader
            var darthVaderImg = new Kinetic.Shape(function(){
                var context = this.getContext();

                context.clearRect(x,y,width,height);
                context.drawImage(imageObj, x, y, width, height);
                // draw invisible detectable path for image
                context.beginPath();
                context.rect(x, y, width, height);
                context.closePath(); 


          });

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

Отметьте сообщение .

canvas.width = canvas.width; 

должен очистить ваш холст.

0 голосов
/ 18 ноября 2012

Используйте эту функцию, которую я создал

Назовите ее так - clearCanvasGrid(/id of the canvas/)

function clearCanvasGrid(canvasname){
            var canvas = document.getElementById(canvasname); //because we are looping //each location has its own canvas ID
            var context = canvas.getContext('2d');
            //context.beginPath();

            // Store the current transformation matrix
            context.save();

            // Use the identity matrix while clearing the canvas
            context.setTransform(1, 0, 0, 1, 0, 0);
            context.clearRect(0, 0, canvas.width, canvas.height);

            // Restore the transform
            context.restore(); //CLEARS THE SPECIFIC CANVAS COMPLETELY FOR NEW DRAWING

        }
...