Это продолжение моего вопроса: Сделать курсор нарисованным самостоятельно .
У меня есть приложение для рисования картинок.Последнюю рабочую версию можно найти здесь: https://knowledgeablekangaroo.github.io/paint-a-picture-backup/,, где код можно найти в F12> Sources> paint-a-picture.js .
Пользователь может выбрать цвет, установить фон, установить толщину, форму и непрозрачность.Существует также функциональность ластика.Я хочу, чтобы пользовательский интерфейс был лучше, , поэтому я пытаюсь нарисовать ластик ниже как курсор .Если курсор не работает, мне нужно что-то, что не размазать.
То, как я его запрограммировал, в любом месте внутри «области рисования» (над центром управления и под паллетой) будет размазано - background()
находится за пределами розыгрыша.
var pg = createGraphics(pgDimensions.w, pgDimensions.h, JAVA2D);
pg.beginDraw();
pg.fill(255, 200, 255);
pg.strokeWeight(2);
pg.rect(0, 0, pgDimensions.w, pgDimensions.h);
pg.fill(0);
pg.textAlign(CENTER, CENTER);
pg.text("ERASER", pgDimensions.w / 2, pgDimensions.h / 2);
pg.endDraw();
Я использовал функцию createGraphics()
для создания объекта PGraphics.Смысл в том, чтобы показать ластик, пока он показывает ластик, который я нарисовал в pGraphic выше.
В функции drawBrush()
я делаю это изображение.![Eraser](https://i.stack.imgur.com/sG4Hg.png)
var drawBrush = function() {
fill(currentColor);
noStroke();
shapes.forEach(function (element, index) {
if (pshape == index) {
element.brush();
}
});
if (C === bgColor) {
image(pg, mouseX - pgDimensions.w / 2, mouseY - pgDimensions.h / 2);
}
};
Исследования
Это лучше всего описывает мою проблему