Call:
Referencing the System.Windows.Forms namespace:
Websitetoimage websitetoimage = new Websitetoimage ("page path", @ "Picture save path");
Websitetoimage.generate ();
Code to be called:
Using System;
Using System.Collections.Generic;
Using System.Linq;
Using System.Text;
Using System.Drawing;
Using System.Threading;
Using System.Windows.Forms;
Using System.Drawing.Imaging;
Using System.IO;
Namespace Business {
public class Websitetoimage {
Private Bitmap M_bitmap;
private string M_url;
private string m_filename = String. Empty;
Public websitetoimage (string url)
{
M_url = URL;
}
</summary>
<param name= "url" > web page Path </param>
<param name= "FileName" > Photo storage path </param>
Public websitetoimage (string URL, string fileName)
{
M_url = URL;
M_filename = FileName;
}
Public Bitmap Generate ()
{
var m_thread = new Thread (_generate);
M_thread. Setapartmentstate (ApartmentState.STA);
M_thread. Start ();
M_thread. Join ();
return m_bitmap;
}
private void _generate ()
{
var browser = new webbrowser{scrollbarsenabled = false};
Browser. Navigate (M_url);
Browser. DocumentCompleted + = webbrowser_documentcompleted;
while (browser. ReadyState! = webbrowserreadystate.complete)
{
Application.doevents ();
}
Browser. Dispose ();
}
private void Webbrowser_documentcompleted (object sender, WebBrowserDocumentCompletedEventArgs e)
{
var browser = (WebBrowser) sender;
Wide, high
Browser. ClientSize = new Size (618,500);
Browser. scrollbarsenabled = false;
Wide, high
M_bitmap = new Bitmap (618, 500);
Browser. BringToFront ();
Browser. DrawToBitmap (M_bitmap, browser. Bounds);
if (M_filename.length > 0)
{
M_BITMAP.SAVEJPG100 (M_filename);
}
}
}
public static Class Bitmapextensions
{
public static void SaveJPG100 (this Bitmap bmp, string filename)
{
var encoderparameters = new EncoderParameters (1);
Encoderparameters.param[0] = new Encoderparameter (System.Drawing.Imaging.Encoder.Quality, 100L);
Bmp. Save (filename, Getencoder (imageformat.jpeg), encoderparameters);
}
public static void SaveJPG100 (this Bitmap bmp, stream stream)
{
var encoderparameters = new EncoderParameters (1);
Encoderparameters.param[0] = new Encoderparameter (System.Drawing.Imaging.Encoder.Quality, 100L);
Bmp. Save (Stream, Getencoder (imageformat.jpeg), encoderparameters);
}
public static ImageCodecInfo Getencoder (imageformat format)
{
var codecs = Imagecodecinfo.getimagedecoders ();
foreach (Var codec in codecs)
{
if (codec. FormatID = = format. GUID)
{
return codec;
}
}
return null;
}
}
}
C # Web pages converted to pictures