так что в основном я работаю над своим личным пиксельным арт-проектом Весь рисунок в пиксельной графике представляет собой ряд элементов типа div:
<div id="art">
<div class="row">
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
</div>
<div class="row">
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixel" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
<div class="pixels" onmousedown="setPixelColour(this)"></div>
</div>
По сути, после того, как пользователь завершил создание своего пиксельного рисунка, он получает возможность сохранить шедевр, и именно здесь я реализовал html2canvas.
<script src="html2canvas.js"></script>
<script>function doCapture(){
html2canvas(document.getElementById("art")).then(function(canvas){
console.log(canvas.toDataURL("image/jpeg", 0.9));
alert("Go to Developer Console in dev tools, Copy and Paste the base64 value of image in the URL to see it in JPEG format")})}</script>
<button onmousedown="doCapture();">Save Masterpiece?</button>
Вот как это выглядит до сих пор:
Как видите, нетронутая часть белого пространства холст также попадает на снимок экрана, есть ли способ предотвратить появление нетронутых элементов div на снимке экрана в html2canvas?
Чтобы уточнить, после того, как пользователь завершит работу с пиксельной графикой, сохраненное изображение будет храниться в базе данных, и пользователь сможет разместить свое изображение, где бы вы ни щелкнули мышью. Вот почему я хочу прозрачности в изображениях.