Проблемы с моим приложением для рисования - PullRequest
0 голосов
/ 30 декабря 2011

В моем приложении для рисования вы можете открыть несколько «рисовальных коробок» и нарисовать на каждой из них.В каждом из ящиков для рисования есть набор инструментов, в котором вы можете изменить цвет и размер кисти.

Приложение отлично работает, примите несколько вещей: 1. Когда вы открываете ящик для рисования и рисуете на нем, а затемоткройте новый и нарисуйте тот, что вы нарисовали на первом, пропало.Повторное выполнение, когда оба блока открыты, работает нормально (то, что вы нарисовали, остается на обоих боксах), но изменить цвет и размер можно только на одном из блоков (изменение цвета на одном блоке меняет цвет другого, и это не так.можно изменить цвет в этой коробке).2. То, что вы рисуете, становится неровным

Что может быть не так?

var color = "red";
var size = 10;

var theWindow = $('.window').last();
var bottomWindow = $('.windowBottom').last();

// code here that creates the toolbar with icons (if clicked on a red icon, color = red;)

var letsdraw = false;
var theCanvas = $('.paint').last();

$('.paint').each(function () {
    this.width = 430;
    this.height = 317;
});

$('.paint').mousemove(function(e) {
    if ($(this).data('letsdraw') === true) {
        var ctx = this.getContext('2d');
        var canvasOffset = $(this).offset();
        ctx.lineTo(e.pageX - canvasOffset.left, e.pageY - canvasOffset.top);
        ctx.stroke();
    }
});

$('.paint').mousedown(function(e) {
    var ctx = this.getContext('2d');
    var canvasOffset = $(this).offset()
    $(this).data('letsdraw', true);
    ctx.strokeStyle = color;
    ctx.lineWidth = size;
    ctx.lineCap = 'round';
    ctx.beginPath();
    ctx.moveTo(e.pageX - canvasOffset.left, e.pageY - canvasOffset.top);
});

$(window).mouseup(function() {
    $('.paint').each(function () {
       $(this).data('letsdraw', false); 
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...