Here: http://pietschsoft.com/post/2008/07/C-Generate-WebPage-Thumbmail-Screenshot-Image.aspx http://pietschsoft.com/post/2008/07/C-Generate-WebPage-Thumbmail-Screenshot-Image.aspx
是如何使用 WebBrowser.DrawToBitmap 方法的示例。
生成位图后,您可以使用任何所需的编码对其进行压缩。
这是来自 MSDN 的示例,介绍如何压缩为 PNG(无损且小):
如何:编码和解码 PNG 图像 http://msdn.microsoft.com/en-us/library/aa970062.aspx
祝你好运 :)
EDIT:
为了获取字节数组,您可能需要使用内存流作为输出流。
这是一个类似的工作示例:
public static void Main(string[] args)
{
byte[] test = new byte[] { 2, 5, 6, 1, 9 };
MemoryStream ms = new MemoryStream();
ms.Write(test, 0, 5);
byte[] image = new byte[ms.Length];
Buffer.BlockCopy(ms.GetBuffer(), 0, image, 0, (int)ms.Length);
for (int i = 0; i < ms.Length; i++)
Console.WriteLine(image[i]);
Console.ReadKey();
}
这是它在您的情况下如何工作的示例:
public static void Main(string[] args)
{
MemoryStream ms = new MemoryStream();
// You have a PNGBitmapEncoder, and you call this:
encoder.Save(ms);
byte[] image = new byte[ms.Length];
Buffer.BlockCopy(ms.GetBuffer(), 0, image, 0, (int)ms.Length);
for (int i = 0; i < ms.Length; i++)
Console.WriteLine(image[i]);
Console.ReadKey();
}