在不显示 webbrowser的情况下,直接实现 网页截图效果,flash也可以正确截图,测试通过了,
flash测试地址:http://demo.lanrenzhijia.com/flash/demo/121231/jy/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace net.grool.util
{
public partial class TestForm : Form
{
public TestForm()
{
InitializeComponent();
}
PicDoc picDoc = null;
BrowserForm browserForm=null;
private void btnGo_Click(object sender, EventArgs e)
{
if (tbUrl.Text.Equals(string.Empty)) return;
picDoc = new PicDoc();
picDoc.refreshPicture = new RefreshPictureDelegate(picDoc_refreshPicture);
picDoc.Url=tbUrl.Text;
picDoc.PicSize = (PSize)this.cbPicSize.SelectedItem;
browserForm.CurDoc = picDoc;
browserForm.getImageFromUrl(picDoc.Url);
browserForm.Show();
}
/// <summary>
/// Here I paint a border to picture and display it
/// </summary>
/// <param name="im"></param>
private void picDoc_refreshPicture(Image im) {
Graphics g = Graphics.FromImage(im);
g.DrawRectangle(Pens.Blue,new Rectangle(0,0,im.Width-1,im.Height-1));
this.pPicture.BackgroundImage = im;
}
/// <summary>
/// Here I populate combo box with PSize objects representing sizes available for thumbnails.
/// Invisible BrowserForm is created here as well.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TestForm_Load(object sender, EventArgs e)
{
cbPicSize.Items.Add(new PSize(200, 200));
cbPicSize.Items.Add(new PSize(300,300));
cbPicSize.SelectedIndex = 0;
browserForm = new BrowserForm();
}
private void btnTest_Click(object sender, EventArgs e)
{
browserForm.CreateImage();
}
}
}
资源文件列表
Thumber/BrowserForm.cs , 1681
Thumber/BrowserForm.Designer.cs , 2014
Thumber/BrowserForm.resx , 5814
Thumber/Form1.cs , 2302
Thumber/Form1.designer.cs , 3841
Thumber/Form1.resx , 5814
Thumber/PicDoc.cs , 1287
Thumber/Program.cs , 406
Thumber/Properties/AssemblyInfo.cs , 1286
Thumber/Properties/Resources.Designer.cs , 2853
Thumber/Properties/Resources.resx , 5612
Thumber/Properties/Settings.Designer.cs , 1093
Thumber/Properties/Settings.settings , 249
Thumber/TestForm.cs , 1612
Thumber/TestForm.Designer.cs , 5897
Thumber/TestForm.resx , 5814
Thumber/ThumbDoc.csproj , 3837
