功能需求:
在一个页面里用的高德地图的js,加载页面时候加载地图和自己写的在地图上显示一条路线。这些js执行完成之后,想在最后自动把当前页面整屏接下来,只截图浏览器内的,Windows自带的截图是全屏,不能用,将截图保存到一个文件夹中。 然后关闭这个 页面,所以最好是js可以实现的,有没有大手可以给想想办法啊,谢谢
在一个页面里用的高德地图的js,加载页面时候加载地图和自己写的在地图上显示一条路线。这些js执行完成之后,想在最后自动把当前页面整屏接下来,只截图浏览器内的,Windows自带的截图是全屏,不能用,将截图保存到一个文件夹中。 然后关闭这个 页面,所以最好是js可以实现的,有没有大手可以给想想办法啊,谢谢
但HTML5标准的出现,使过去只能通过控件实现的方法换由html5+js的方法得以实现,如今除非你的浏览器还停留在ie6版本,其他几乎所有浏览器内核均已支持html5,就像你要的页面截图功能,也可以通过他来实现。
所以,我给你的结果就是,去搜索“HTML5截屏”或者“HTML5截图”,资源很多,我就不贴链接了,这些方法基本上都是通过HTML5+JS来实现的。
function refreshposition() {
var odiv = $("#cutimg"); $("#<%=hidX.ClientID%>").val(window.screenX + (window.outerWidth - window.innerWidth) / 2 + odiv[0].clientLeft);
$("#<%=hidY.ClientID%>").val(window.outerHeight - window.innerHeight + window.screenY + odiv[0].clientTop - 7 + 40);
$("#<%=hidWidth.ClientID%>").val(odiv[0].clientWidth);
$("#<%=hidHeight.ClientID%>").val(odiv[0].clientHeight - (document.body.scrollHeight - window.innerHeight) - 60); return true;
}
<asp:Button ID="btnCutImg" CssClass="btn-bl" Style="margin-top: 0px; font-size: 14px;" runat="server" Text=" 截 图 " OnClick="btnCutImg_Click" OnClientClick="refreshposition();" />
int sourceX = Convert.ToInt32(Convert.ToDouble(hidX.Value));
int sourceY = Convert.ToInt32(Convert.ToDouble(hidY.Value));
int sizeWidth = Convert.ToInt32(Convert.ToDouble(hidWidth.Value));
int sizeHeight = Convert.ToInt32(Convert.ToDouble(hidHeight.Value));
Bitmap _bitMap = new Bitmap(sizeWidth, sizeHeight);
Graphics g = Graphics.FromImage(_bitMap);
//从指定的区域中复制图形
g.CopyFromScreen(sourceX, sourceY, 0, 0, new Size(sizeWidth, sizeWidth)); string movepath = @"C:\SRP_CutImages\";
if (System.IO.Directory.Exists(movepath) == false)
{
System.IO.Directory.CreateDirectory(movepath);
}
//把图形放在PictureBox中显示
_bitMap.Save(movepath + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
g.Dispose();我用这个方法,基本实现了,但是发布在服务器上的时候会报错。