在解决方案上单击右键,选择“Add Reference...”,添加“System.Windows.Forms”,添加完后,Web.Config 中应该有类似下面的内容:
<system.web>
<compilation debug="true">
<assemblies>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
二、 设置 STA 模式
在 @ Page 指令中加上 AspCompat="true",以强制该网页在 STA(单线程单元) 模式下执行。结果类似如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" AspCompat="true" %>
三、写截图代码
using System
using System.Collections
using System.Configuration
using System.Data
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.Drawing
using System.Drawing.Imaging
using System.Windows.Forms
public partial class _Default : System.Web.UI.Page
{
private WebBrowser _webBrowser
protected void Page_Load(object sender, EventArgs e)
{
string url = Request.QueryString["url"]
if (string.IsNullOrEmpty(url))
{
url = "http://www.cftea.com/"
}
_webBrowser = new WebBrowser()
_webBrowser.ScrollBarsEnabled = false//不显示滚动条
_webBrowser.Navigate(url)
_webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Completed)
while (_webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents()//避免假死,若去掉则可能无法触发 DocumentCompleted 事件。
}
}
public void Completed(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//设置浏览器宽度、高度为文档宽度、高度,以便截取整个网页。
_webBrowser.Width = _webBrowser.Document.Body.ScrollRectangle.Width
_webBrowser.Height = _webBrowser.Document.Body.ScrollRectangle.Height
using (Bitmap bmp = new Bitmap(_webBrowser.Width, _webBrowser.Height))
{
_webBrowser.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height))
bmp.Save("C:\\Capture.png", ImageFormat.Png)
}
}
}
使用JavaScript将图片拷贝进画布要想将图片放入画布里,我们使用canvas元素的drawImage方法:
// Converts image to canvasreturns new canvas element
function convertImageToCanvas(image) {
var canvas = document.createElement("canvas")
canvas.width = image.width
canvas.height = image.height
canvas.getContext("2d").drawImage(image, 0, 0)
return canvas
}
这里的0, 0参数画布上的坐标点,图片将会拷贝到这个地方。
用JavaScript将画布保持成图片格式
如果你的画布上的作品已经完成,你可以用下面简单的方法将canvas数据转换成图片格式:
// Converts canvas to an image
function convertCanvasToImage(canvas) {
var image = new Image()
image.src = canvas.toDataURL("image/png")
return image
}
这段代码就能神奇的将canvas转变成PNG格式!
这些在图片和画布之间转换的技术可能比你想象的要简单的多。在以后的文章里,我会写一些将这些图片做不同滤镜处理的技术。
望采纳!!!!
<div><img src="images/pot1.png" width="45" height="45"></div><script>
var oImg = document.getElementById('img')
var onOff = true
oImg.onclick = function() {
if ( onOff ) {
oImg.src = 'images/pot2.png'
onOff = false
}
else {
oImg.src = 'images/pot1.png'
onOff = true
}
}
</script>