有没有人知道你可以获取HTML控件(preuambly div)的内容并将其导出为几种不同图像格式之一的任何工具(jpg,png和bmp就足够了)?我更喜欢渲染在服务器端完成(GDI很好)并且只是创建一个我可以使用HttpHandler返回的图像,因此如果可能的话它不需要保存。我知道许多报告工具(SSRS,Telerik Reporting)提供导出到图像选项,但我无法弄清楚他们是如何做到的。
答案 0 :(得分:2)
您可以在服务器端启动IE或其他浏览器并使用GDI截取该窗口的屏幕截图,但精确定位特定div将需要更多工作。
如果您需要客户端屏幕截图,则需要使用Java或类似的东西。
How to take screenshot of div from a webpage using C# and ASP.NET?
也可以提供帮助。
答案 1 :(得分:0)
好吧,如果你想截取网页的截图并保存它是一种图像格式(你想要什么) 你可以这样做....
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Web.Services;
using System.Text;
using System.Windows.Forms;//must be included for capturing screenshot
public partial class capture_webpage_screenshot : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSave_Click(object sender, EventArgs e)
{
Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics graphics = Graphics.FromImage(bitmap as System.Drawing.Image);
graphics.CopyFromScreen(25, 25, 25, 25, bitmap.Size);
bitmap.Save(@"c:\screenshot\myscreenshot.bmp", ImageFormat.Bmp);
}
}
您必须按照以下步骤操作:
您必须执行以下步骤。
通过自定义CopyFromScreen()函数中使用的参数,您可以了解如何捕获屏幕的一小部分(如果需要)。
创建一个文件夹并在c#代码中给出文件夹路径,就像我给出的一样。您也可以自定义代码,并在每次生成时提供位图文件的动态名称。
我希望它会帮助你...