//调用委托来实现。返回值在定时器完成后才有用,比较难接收。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Drawing;
using System.Runtime.InteropServices.ComTypes;
namespace FormatApplication.CommonClass
{
/// <summary>
/// 对HTML进行图片转换。
/// </summary>
public class ConvertHTML
{
private ConvertHTML() { }
/// <summary>
/// 图片保存路径。
/// </summary>
private static string SAVEHTMLIMAGE = string.Empty;
/// <summary>
/// 把网页转换成图片形式。
/// </summary>
/// <param name="htmlPath"></param>
/// <returns></returns>
public static void HTMLConvertImage(string htmlPath)
{
SAVEHTMLIMAGE = string.Empty;
HtmlCapture hcap = new HtmlCapture();
hcap.HtmlImageCapture += new HtmlCapture.HtmlCaptureEvent(hcap_HtmlImageCapture);
hcap.Create(htmlPath);
}
static void hcap_HtmlImageCapture(object sender, Uri url, Bitmap image)
{
SAVEHTMLIMAGE = @"E:\cheng_Text\FormatApplication\测试文件\ConvertHTML.jpg";
image.Save(SAVEHTMLIMAGE);
image.Dispose();
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public static string ProduceImagePath()
{
return SAVEHTMLIMAGE;
}
}
#region==========IViewObje【实现接口类】================
[ComVisible(true), ComImport()]
[GuidAttribute("0000010d-0000-0000-C000-000000000046")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IViewObject
{
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int Draw(
[MarshalAs(UnmanagedType.U4)] UInt32 dwDrawAspect,
int lindex,
IntPtr pvAspect,
[In] IntPtr ptd,
IntPtr hdcTargetDev,
IntPtr hdcDraw,
[MarshalAs(UnmanagedType.Struct)] ref Rectangle lprcBounds,
[MarshalAs(UnmanagedType.Struct)] ref Rectangle lprcWBounds,
IntPtr pfnContinue,
[MarshalAs(UnmanagedType.U4)] UInt32 dwContinue);
[PreserveSig]
int GetColorSet([In, MarshalAs(UnmanagedType.U4)] int dwDrawAspect,
int lindex, IntPtr pvAspect, [In] IntPtr ptd,
Int