Я пытаюсь использовать четыре холста, уложенных друг на друга, но содержимое их не будет отображаться, кроме содержимого того, что находится сверху. Я помещал им значения z-index в том порядке, в котором я бы хотел их отображать, но только верхний отображает содержимое. Их позиция абсолютна, а их индексы z - 1, 2, 3 и 4. Есть ли что-то еще, что делает их не отображаемыми? Или, сколько полотенец можно было бы складывать вместе, чтобы все их содержимое отображалось?Штабелирование нескольких холстов в HTML5
У меня есть это:
<div></div>
<canvas id="bg" width="500" height="500"></canvas> <!--z-index:1 -->
<canvas id="lc" width="500" height="500"></canvas> <!--z-index:2 -->
<canvas id="rc" width="500" height="500"></canvas> <!--z-index:3 -->
<canvas id="ch" width="500" height="500"></canvas> <!--z-index:4 -->
<!-- Script that draws image in each canvas with different x and y values -->
Проблема заключается в том, что при запуске функции, картина, которую я рисую появляется только один раз, что означает, что только рисовал его на одном холсте ... К примеру, я будете иметь скрипт что-то вроде этого:
function drawImgs() {
var bg = document.getElementById('bg').getContext('2d'),
lc = document.getElementById('lc').getContext('2d'),
rc = document.getElementById('rc').getContext('2d'),
ch = document.getElementById('ch').getContext('2d'),
img = new Image();
img.src = "image.png";
bg.drawImage(img,0,0);
lc.drawImage(img,64,64);
rc.drawImage(img,128,128);
ch.drawImage(img,192,192);
}
drawImgs();
это будет только рисовать изображение на холсте ч, в X: 192, Y: 192. Почему это? Есть ли способ предотвратить это или, по крайней мере, убедиться, что все изображения нарисованы? Это потому, что я использую одно и то же изображение, или же полотна просто не прозрачны? Есть ли предел тому, сколько полотна вы можете просмотреть?
Вся информация будет оценена по достоинству. Заранее спасибо.
Редактировать: Однако, если у меня есть только две полотна, оба изображения визуализируются. Почему это? Не удалось ли, по крайней мере, сделать два изображения, если у меня есть четыре собрания, сложенные вместе?
Edit: Я был возиться с кодом, который я получил от вас, ребят (спасибо за всю информацию, все помогло), и я пытался поставить его в мой фактический проект (я тестировал код, и это было работая до того, как я включил его в свой проект), но когда я вложил его в свои файлы, он снова перестал работать. Поэтому я перепутал, и я заметил, что, когда я не добавил CSS, чтобы сделать страницу такой, что она будет работать ... Я продолжал возиться, и я узнал, что фоновый цвет холста снимает прозрачность, это было просто так все время ... Так что я просто положил его на первый холст, bg, потому что моя страница черная, и я хотел, чтобы холст был белым ... В любом случае, спасибо за помощь каждого, это очень ценится.
Хотя я признаю, что у меня проблемы с jsfiddle, проблемы, с которыми я сталкиваюсь, - это не те, которые вы испытываете (http://jsfiddle.net/t5EFp/2/) (ударить снова, если ничего показывает). – Daedalus
Редактируйте свою скрипку и прокомментируйте две средние полотна и drawImage-вызовы (lc, rc), и изображения будут отображаться ... – user2673553
Вам не хватает моей точки. Я также просто попробовал это; он не фиксирует скрипку. Как я и сказал; он отлично работает, если вы просто нажмете пробег снова. – Daedalus