У меня есть холст, но я не знаю, как создать другую фигуру в том же холсте, который накладывает ее, у меня есть две кнопки, одна для размещения изображений, а затем для их ссылки и создания фигуры и другой - другое изображение, но на другой фигуре. Например, у вас есть кнопка «a» и кнопка «b». Кнопка «a» помещает изображения и рисует фигуру, соединяющую изображения. Теперь вы хотите начать новую фигуру, вы используете кнопку «b», ставит изображение, а когда вы вернетесь к кнопке «a», она должна связать новое изображение, которое раньше помещали кнопки «b». Я не знаю, если я хорошо объясню. Я попытаюсь передать переменную для сравнения, если вы используете одну или другую кнопку для использования той же функции для рисования. переменная nF
, if nF=0
= кнопка> "а" if nF=1
=> кнопка "б"Создание разных фигур на холсте html5
Вот мой код
function position(year, mon) { //that function puts the images in the html
$('#' + year + ' .' + mon).prepend('<img class="black_point" src="./images/circle.png"/>');
}
function draw(nF) {
var fN = nF;
var table = document.getElementById("table");
var images = table.getElementsByTagName("img");
var canvas = document.getElementById("miCanvas");
var ctx = canvas.getContext("2d");
var x, y; // Remember coordinates
canvas.width = table.offsetWidth;
canvas.height = table.offsetHeight;
function connect(image, index) { //this function link the images
var tabBcr = table.getBoundingClientRect();
var imgBcr = image.getBoundingClientRect();
x = imgBcr.left + (imgBcr.width/2) - tabBcr.left;
y = imgBcr.top + (imgBcr.height/2) - tabBcr.top;
index === 0 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);
ctx.save(); //save the state I think
}
// new path here
ctx.beginPath();
for (var i = 0; i < images.length; i++) {
connect(images[i], i); // provide index so we can sep. move/line
}
if (fN == 1) {//This doesn't work :(
ctx.fillStyle = "orange";
ctx.globalCompositeOperation = "source-over";
ctx.fill();
cxt.restore();
} else {
// then at the end:
ctx.fill();
cxt.restore();
}
}
Вы можете создать картину, чтобы показать различные элементы (таблица, изображения и кнопки) и показать результат, который вы хотите достичь? –
okey Я добавил несколько фотографий, может быть, теперь более понятно –