私はhtmlとjavascriptの初心者です。そして、HTMLページのスクリーンショットを撮り、jpg
またはpng
ファイルとして保存しようとしています。
画像の右隅にある[画像保存]ボタンを押してdivs
をドラッグアンドドロップし、右側のスクリーンショット(グレーの色)を撮りたいです。
HTMLとjavascriptでスクリーンショットを撮るにはどうすればよいですか? html2canvasのいくつかを見ましたが、それは私が望むものではありません。おもう..
誰かがこれについて考えていますか?
おかげで、
追伸htmlのコードが必要な場合、[〜#〜] edit [〜#〜]
Canvasを使用して、画像またはビデオフレームをスクリーンショットとしてのみキャプチャできます。ただし、Webページ上の特定の要素をキャプチャする場合は、このライブラリを試してください: html2canvas
コードは次のとおりです。
注:drawImage()関数で寸法を慎重に調整してください
$(".drag").draggable();
$(".drag").droppable();
var takeScreenShot = function() {
html2canvas(document.getElementById("container"), {
onrendered: function (canvas) {
var tempcanvas=document.createElement('canvas');
tempcanvas.width=350;
tempcanvas.height=350;
var context=tempcanvas.getContext('2d');
context.drawImage(canvas,112,0,288,200,0,0,350,350);
var link=document.createElement("a");
link.href=tempcanvas.toDataURL('image/jpg'); //function blocks CORS
link.download = 'screenshot.jpg';
link.click();
}
});
}
#container{
width:400px;
height:200px;
}
#rightcontainer{
width:300px;
height:200px;
background:gray;
color:#fff;
margin-left:110px;
padding:10px;
}
#leftmenu{
color:#fff;
background-color:green;
width:100px;
height:200px;
position:fixed;
left:0;
padding:10px;
}
button{
display:block;
height:20px;
margin-top:10px;
margin-bottom:10px;
}
.drag{
width:40px;
height:20px;
background-color:blue;
z-index:100000;
margin-top:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
<button onclick="takeScreenShot()">Snapshot</button>
<div id="container">
<div id="leftmenu">
Left Side
<div class="drag">
</div>
<div class="drag">
</div>
<div class="drag">
</div>
Drag----------->
&
Click Snapshot
</div>
<div id="rightcontainer">
Right Side
</div>
</div>