Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 拖放后将div保存到图像_C#_Javascript_Asp.net - Fatal编程技术网

C# 拖放后将div保存到图像

C# 拖放后将div保存到图像,c#,javascript,asp.net,C#,Javascript,Asp.net,我有一个asp.net/c的网页,我可以用HTML5将图像从一个div拖到另一个div。现在我需要将生成的div保存为图像。它必须在Firefox和Chrome中工作 我已经试过了: 它们捕获页面而不包含拖动的元素 这只是一个黑匣子 非常感谢你的帮助 我想,您已经有了这个查询的部分答案,因为您有将画布转换为图像的链接 您可以使用您已经提到的链接。 现在,主要的问题是在画布中设置图像 我认为你应该将图像设置为画布的背景,然后将画布转换为图像 要设置画布的背景图像,请参考下面的URL 这将帮

我有一个asp.net/c的网页,我可以用HTML5将图像从一个div拖到另一个div。现在我需要将生成的div保存为图像。它必须在Firefox和Chrome中工作

我已经试过了:

它们捕获页面而不包含拖动的元素

这只是一个黑匣子


非常感谢你的帮助

我想,您已经有了这个查询的部分答案,因为您有将画布转换为图像的链接

您可以使用您已经提到的链接。 现在,主要的问题是在画布中设置图像

我认为你应该将图像设置为画布的背景,然后将画布转换为图像

要设置画布的背景图像,请参考下面的URL


这将帮助您将生成的画布(diV)保存为图像。

很抱歉打扰了大家,但现在我自己得到了答案! 问题是图像元素仍然在DOM中的dragzone中,因此它们没有显示在图像中。我就是这样解决的:

<div id="dragzone" ondrop="drop(event)" ondragover="drag_over(event)" style="width:100%; height: 572px;">

    <img id="dragme" src="Images\ballgreen.png" draggable="true" style="position:absolute; left: 36px; top: 210px;" ondragstart="drag_start(event)">
    <img id="img2" src="Images\ballred.png" draggable="true" style="position:absolute; left: 36px; top: 220px;" ondragstart="drag_start(event)" >
</div>

<div id="dropzone" ondrop="drop(event)" ondragover="drag_over(event)" style="width:500px;height:500px;padding:10px;border:1px solid #aaaaaa; background-color: #ccccff;">

<script>
    function drag_start(event) {
        var style = window.getComputedStyle(event.target, null);
        var data = (parseInt(style.getPropertyValue("left"), 10) - event.clientX)
            + ',' + (parseInt(style.getPropertyValue("top"), 10) - event.clientY)
            + ',' + event.target.id;
        event.dataTransfer.setData("text/plain", data);
    }
    function drag_over(event) {
        event.preventDefault();
        return false;
    }
    function drop(event) {
        var offset = event.dataTransfer.getData("text/plain").split(',');
        var id = offset[2];
        var dragzone = document.getElementById('dragzone');
        var dropzone = document.getElementById('dropzone');
        var dm = document.getElementById(id);

        if (dm != null) {
            dragzone.removeChild(dm);
            dropzone.appendChild(dm);
            dm.style.left = (event.clientX + parseInt(offset[0], 10)) + 'px';
            dm.style.top = (event.clientY + parseInt(offset[1], 10)) + 'px';
        }
        event.preventDefault();
        return false;
    }

    function screenshots() {
        var dropzone = document.getElementById('dropzone');
        html2canvas(dropzone, {
            onrendered: function (canvas) {
                Canvas2Image.saveAsPNG(canvas);
                var test = 'test';
            }
        });
    }

函数拖放启动(事件){
var style=window.getComputedStyle(event.target,null);
var data=(parseInt(style.getPropertyValue(“左”),10)-event.clientX)
+“,”+(parseInt(style.getPropertyValue(“top”),10)-event.clientY)
+“,”+event.target.id;
event.dataTransfer.setData(“文本/普通”,数据);
}
函数拖放(事件){
event.preventDefault();
返回false;
}
函数删除(事件){
var offset=event.dataTransfer.getData(“text/plain”).split(',');
变量id=偏移量[2];
var dragzone=document.getElementById('dragzone');
var dropzone=document.getElementById('dropzone');
var dm=document.getElementById(id);
如果(dm!=null){
dragzone.removeChild(dm);
dropzone.appendChild(dm);
dm.style.left=(event.clientX+parseInt(偏移量[0],10])+'px';
dm.style.top=(event.clientY+parseInt(偏移量[1],10])+'px';
}
event.preventDefault();
返回false;
}
函数截图(){
var dropzone=document.getElementById('dropzone');
html2canvas(dropzone{
onrendered:函数(画布){
Canvas2Image.saveAsPNG(画布);
var测试=‘测试’;
}
});
}