# HTML-asiakirjojen muuttaminen kuvaiksi...koodi

<datetime class="hidden">2004-06-30T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported -->
Noh , vähän pelattuani olen saanut jotain toimivaa nyt , en Win-koderia, mutta vaikuttaa siltä, että se toimii

käyttäen järjestelmää;

käyttäen järjestelmää.

käyttäen järjestelmää.Printing.ImagingM SK2

käyttäen järjestelmää.Kollections;

käyttäen järjestelmää.KomponentModel;

käyttäen järjestelmää.Windows.FormsM SK2

käyttäen järjestelmää.Data

käyttämällä mshtml;

käyttäen järjestelmää.RuntimeM SK1InteropServices;

käyttäen Microsoftia.Win32;

Namespace ThumbMaker

{

/// &lt;yhteenveto&gt;

///lomakkeen yhteenveto

/// &lt;/ yhteenveto&gt;

julkisen luokan lomake

{

yksityiset AxSHDocVw.AxWebBrowser axWeb Browser1;

/// &lt;yhteenveto&gt;

/// Tarvittava suunnitteluvaihtoehto

/// &lt;/ yhteenveto&gt;

yksityisjärjestelmä.Komponentimalli.Container components M SK2 null ;

private const string urlStr = "http://newsM SK3bbcMSC4coMスク5ukMST6 \;

julkinen lomake1()

{

//

// Required for Windows Form Designer support

//

InitializeComponent();

object o = null ;

tämä .Visible

axWebBrowser1.Navigate

}

const int WM\_PAINT

const int WM\_PRINTCLIENT

const int WM\_ERASEBKGND

const int WM\_PRINT

Kansainvälinen aluekehitysrahasto\_

Kansainvälinen aluekehitysrahasto\_

julkinen tyhjiö GrabWindow()

{

IntPtr hWnd = tämä .HandleM SK2

IntPtr hBmp;

Bitmap MyBitmap= null ;

IntPtr hDCMem = GDI32.Laadi yhteensopiva DCM SK2IntPTR) null MSC4

IntPtr hDC = Umsebenzisi32.GetWindowDCM SK2hWnd );

hBmp = GDIM SK1Laadi yhteensopivaa bitmaptia (hDCMSC3IntPtr)axWebBrowserMST5Kaakko SSK6InntPtr\)ax WebBrowerMSV8KorkeusMsv9

käyttäjä32.ReleaseDC(hWndM SK2 hDC );

IntPtr hOld = GDI

käyttäjä32.SendMessage(hWndM SK2 WM\_PRINTM SK1 hDCMem, uusi IntPtr (PRF\_Klientti  | PRF\_CHILDRENM SK1

GDI32.SelectObject (hDCMemM SK2 hOld);

GDI32.DeleteObject(hDCMemM SK2

MyBitmap =Bitsmap.HbitmaastaM SK2hBmp );

MyBitmap.Save( "test.png" ,ImageFormat.Png);

Tämä .CloseM SK1

}

/// &lt;yhteenveto&gt;

/// puhdistaa kaikki käytetyt resurssit

/// &lt;/ yhteenveto&gt;

suojattu yliride void Dispose( bool disposing M SK1

{

jos ( poistaa )

{

jos (komponentit != null )

{

komponentit.DisposeM SK1

}

}

pohja .Lakkautus (Lakautus \);

}

#alue Windows Form Designer -koodi

/// &lt;yhteenveto&gt;

/// Designer-tukia varten vaadittava menetelmä - ei muuteta

/// tämän menetelmän sisältöä koodieditorilla

/// &lt;/ yhteenveto&gt;

Private void InitializeComponent()

{

Järjestelmä.Ressources.ResourceManager resources = uusi JärjestelmaM SK3Re ResourcesCSK4ResourcingManagerCsk5tyyppinen SSK6FormMSC7

uusi AxSHDocVw.AxWebBrowser

(( Järjestelmä.Komponent ModeliM SK2ISupportInitializeMSC3 tämä .axWebBrowser

Tämä .SuspendLayoutM SK1

//

// axWebBrowser

//

tämä .axWebBrowserM SK1Dock =järjestelmä.WindowsMSC4FormsMST5DockingStyleMSR6FillMSL7

tämä .axWebBrowserM SK1Valmitettu = totta SSK3

tämä .axWebBrowserM SK1Yhteyspaikka = uusi järjestelmä.PrintingMSC4Point

tämä .axWebBrowser1.OcxState = ((System+.+Windows+.+Format+M SK6+AxHost+MSC7+State+MST8+Resource+.+GetObject+MS(+M"+axWeb Browser+MSSK12+OcXState=MSMK13+MWSK14+

tämä .axWebBrowser1.Size = uusi SystemM SK3DrawingMSC4SizeeMska5 768);

tämä .axWebBrowser1.TabIndex = SSK3

uusi AxSHDocVw.DWebBrowserEvents2\_DocumentCompleteEventHandler\_DocumentComplete

//

//lomake

//

tämä .AutoScale = väärä ;

tämä .AutoScaleBaseSize = uusi järjestelmäM SK2Printing.SizeMSC4 13);

tämä .Kundenkoko = uusi järjestelmäM SK2Printing.Size

tämä .Sääntelyt.LisätäM SK2 tämä ♫.axWebBrowser ♫

Tämä .FormBorderStyle =järjestelmä.WindowsM SK3FormsMSC4Form BorderStyleMST5Ei yksikäänMSV6

Tämä .nimi = SSK2lomakeM SK3 \;

tämä .ShowInTaskbar

Tämä .Tekni = "Forma SSK3

(( Järjestelmä.Komponent ModeliM SK2ISupportInitializeMSC3 tämä .axWebBrowserMST5EndInitMS();

tämä .ResumeLayout

}

#pääalue

/// &lt;yhteenveto&gt;

/// Hakemuksen päätulopaikka

/// &lt;/ yhteenveto&gt;

[STAThread]

static void Main()

{

Ehdotus.Run( uusi lomakeM SK2

}

private void axWebBrowser1\_DocumentComplete\_DocumentCompleteEvent e)

{

GrabWindow();

}

}

luokka GDI32

{

[DllImport( "GDIM SK2dll" ≥)]

julkinen statinen ulkoinen booli BitBlt(IntPtr hdcDest,InstPtr nXDest ,InntPtr NYDestSSK3

IntPtr nLaajuus,IntPTR nKaakkoisuusM SK1InntPtr hdcSrc,

IntPtr nXSrc,

[DllImport( "GDIM SK2dll" ≥)]

public static extern IntPtr CreateCompatibleBitmap

IntPtr nKorkeus);

[DllImport( "GDIM SK2dll" ≥)]

julkinen statinen ulkoinen IntPtr CreateCompatibleDC(IntPTR hdc);

[DllImport( "GDIM SK2dll" ≥)]

julkinen statinen ulkoinen booli DeleteDC(IntPtr hdc);

[DllImport( "GDIM SK2dll" ≥)]

julkinen statinen ulkoinen booli DeleteObject(IntPtr hObject≥);

[DllImport( "GDIM SK2dll" ≥)]

julkinen statinen ulkoinen IntPtr GetDeviceCaps

[DllImport( "GDIM SK2dll" ≥)]

julkinen statinen ulkoinen IntPtr SelectObject

}

luokka käyttäjä32

{

[DllImportti( "UserM SK2dll " ≥)]

julkinen statinen ulkoinen IntPtr GetDesktopWindow();

[DllImportti( "UserM SK2dll " ≥)]

julkinen statinen ulkoinen IntPtr GetWindowDC(IntPtri hWnd);

[DllImportti( "UserM SK2dll " ≥)]

julkinen statinen ulkoinen IntPtr ReleaseDC

[DllImportti( "UserM SK2dll " ≥)]

julkinen statinen ulkoinen Int SendMessage(IntPtr hWnd, int MsgM SK2 IntPTR wParamMSC3 InntPtr lParam

}

}