Web自动截图功能!求大神帮忙!

shaw-肖班 2013-12-10 09:27:59

protected void Page_Load(object sender, EventArgs e)
{
this.CreateImage();//这个是画图功能
this.Cutpicture();//这个是截图功能
}
private void Cutpicture()
{
Rectangle R = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
R.Width = 540;
R.Height = 400;
System.Drawing.Image img = new Bitmap(R.Width, R.Height);
Graphics G = Graphics.FromImage(img);
G.CopyFromScreen(new Point(0,86), new Point(0, 0), new Size(R.Width, R.Height));
IntPtr dc = G.GetHdc();
G.ReleaseHdc(dc);
G.Dispose();
img.Save("c:\\a.jpg");
}

现在有个问题就是页面web加载的时候,就截图了。结果截图是空白的。
我想要页面加载完了再截图。页面加载完这个页面的绘图才画完。截图的时候就是截出画出的图!
怎样才能做到这个效果,求大神帮忙!
...全文
269 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaw-肖班 2013-12-11
  • 打赏
  • 举报
回复
引用 10 楼 webdiyer 的回复:
设成100秒也不可能起作用,windows forms运行在服务器端,即使能截图也是服务器端的图,你的页面一运行就会先执行这些代码,你用javascript在客户端延迟多少秒都没意义,除非在客户端加载winform控件
那要怎么操作呢? 谢谢
webdiyer 2013-12-10
  • 打赏
  • 举报
回复
设成100秒也不可能起作用,windows forms运行在服务器端,即使能截图也是服务器端的图,你的页面一运行就会先执行这些代码,你用javascript在客户端延迟多少秒都没意义,除非在客户端加载winform控件
蝶恋花雨 2013-12-10
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/280071856网页截屏原代码,用于web截屏.图片直接传服务器收藏
蝶恋花雨 2013-12-10
  • 打赏
  • 举报
回复
 function run()
 {
          alert('延时4秒')   
 }
      $(document).ready(function () {
          $.ajax
        ({
            type: "GET",
            url: "CutPicture.aspx/CutPictureImg",
            beforeSend: function () {
                alert('正在加载');
		setTimeout(function(){run()},4000);
            },
            success: function (data) {
                alert('加载完成');
            }
        });
      });
试试
shaw-肖班 2013-12-10
  • 打赏
  • 举报
回复
引用 3 楼 kongwei521 的回复:
JQ的话是
$(document).ready(function () {
	$.ajax
		({
			type: "GET",
			url: "xxx.aspx/Cutpicture",
			beforeSend: function () {
			
			alert('正在加载');
			},
			success: function (data) {
			 alert('加载完成');
			}
		});
});

<script>
      function run() {
          alert('延时1秒')    }
      window.onload = function () {
          setTimeout('run()', 1000)
      }
      $(document).ready(function () {
          $.ajax
        ({
            type: "GET",
            url: "CutPicture.aspx/CutPictureImg",
            beforeSend: function () {
                alert('正在加载');
            },
            success: function (data) {
                alert('加载完成');
            }
        });
      });
</script>
有两个页面一个是画图页面graphic.aspx,上面的代码放在里头。 另一个页面是CutPicture.aspx,里头有CutPictureImg方法,不知道我这样放对不对。谢谢!
shaw-肖班 2013-12-10
  • 打赏
  • 举报
回复
引用 3 楼 kongwei521 的回复:
JQ的话是
$(document).ready(function () {
	$.ajax
		({
			type: "GET",
			url: "xxx.aspx/Cutpicture",
			beforeSend: function () {
			
			alert('正在加载');
			},
			success: function (data) {
			 alert('加载完成');
			}
		});
});
我试试,谢谢哈
shaw-肖班 2013-12-10
  • 打赏
  • 举报
回复
引用 2 楼 kongwei521 的回复:
<script> function run(){ alert('延时1秒') } window.onload=function(){ setTimeout('run()',1000) } </script>
这仅仅是截图,那调用这个截图功能的操作?谢谢!
蝶恋花雨 2013-12-10
  • 打赏
  • 举报
回复
JQ的话是
$(document).ready(function () {
	$.ajax
		({
			type: "GET",
			url: "xxx.aspx/Cutpicture",
			beforeSend: function () {
			
			alert('正在加载');
			},
			success: function (data) {
			 alert('加载完成');
			}
		});
});
蝶恋花雨 2013-12-10
  • 打赏
  • 举报
回复
<script> function run(){ alert('延时1秒') } window.onload=function(){ setTimeout('run()',1000) } </script>
shaw-肖班 2013-12-10
  • 打赏
  • 举报
回复
网上有说写个JS在Load事件时调用,并设置3秒后执行应该没问题。用ajax调用这个后台方法。怎么操作? 谢谢!
  • 打赏
  • 举报
回复
引用 11 楼 linshigong2013 的回复:
管理员你是不是大SB 我学习帮顶留个记号 你也删帖
淡定 哥哥。
linshigong2013 2013-12-10
  • 打赏
  • 举报
回复
管理员你是不是大SB 我学习帮顶留个记号 你也删帖

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧