【问题标题】:Printscreen function desired from web control on browser浏览器上的 Web 控制所需的 Printscreen 功能
【发布时间】:2012-03-01 16:48:14
【问题描述】:

全部,

我需要让我们网页的用户能够下载我们放在森林火灾模拟 dot net aspx 网页上的 Bing 地图的 jpeg 图像。有问题的页面目前显示 Bing 地图和多达 96 个形状的图层,可能需要长达 20 秒才能完全加载。如果有帮助,我可以将所有这些形状放在一层上 - 但我不确定它是否会这样做,我想我会先在这里问。

显然,任何“复杂”的客户端操作(如 ALT 打印屏幕、从网页打印、mwsnap3 或其他第三方解决方案)都不够,所以我被告知在页面上实现一个按钮在页面上按下时下载(或提供)一个 jpeg 图像文档/图像。

我从Convert webpage to image from ASP.NET 的一个很棒的帖子开始。 ,这真的很接近我想要的,但是页面会在浏览器上呈现。ReadyState != WebBrowserReadyState.Complete 转换,在我的形状加载到 Bing 画布上之前触发。我尝试在 DocumentTitleChanged 事件上呈现页面(然后在我的形状完成加载时尝试更改标题),但这也不起作用。

我尝试使用 javascript 强制“打印屏幕”字符(请参阅 Is it possible to simulate key press events programmatically?),但这会转换为逗号(十进制 44)并且没有按预期工作。

我还看到 HTLM5 对此提供了一些支持 (http://www.nihilogic.dk/labs/canvas2image),但是虽然这在 FireFox 中有效,但在 IE 中不起作用,这是首选的浏览器。我也想在移动设备上运行它,可能有一段时间也不支持 HTML5。

我有几个问题:

1 - 是否有另一种(简单)方法可以打印我丢失的网页内容?

2 - 是否有其他一些我可以触发的 WebBrowser 事件更有意义)?

3 - 如果我用一些其他控件声明然后将地图和形状放在此控件上以供后续打印,是否会有所帮助?

4 - 这是否违背了网页浏览的原则并且只是一个坏主意(似乎如果我可以强制使用“打印屏幕”,那么邪恶的网站可能会强制使用 Ctrl-Alt-Delete 按钮序列)?

谢谢 - 史蒂夫

【问题讨论】:

  • 只返回背景平铺地图图像就足够了,还是您需要类似于实际屏幕截图的东西?

标签: javascript asp.net html bing-maps


【解决方案1】:

这可能不是您想要做的方法,因为它需要您以不同的方式重复很多您已经拥有的功能,但唯一真正完整的证明方法是将地图作为图像从bing 映射静态图像服务并使用 GDI+ 自己在地图上绘制,然后直接将该图像提供给用户。解决任何浏览器问题,但根据您的要求进行大量工作:

http://rbrundritt.wordpress.com/2009/02/22/drawing-routes-with-the-ve-web-service/

【讨论】:

  • 感谢@Gingemonster 的提示,为了增加您描述的这种复杂性,用户可以操纵地图(缩放、平移、转到 3D、选择查看所需的周边形状等),我是认为他们会在上述操作后想要获得图像,充其量是棘手的,因为我似乎没有收到“缩放”事件的通知 - Bing 只是在它的小游戏笔中做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-04
  • 2012-09-12
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 2021-10-06
  • 2013-08-06
相关资源
最近更新 更多