HTML-asiakirjojen muuttaminen kuvaiksi...koodi
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
{
/// <yhteenveto>
///lomakkeen yhteenveto
/// </ yhteenveto>
julkisen luokan lomake
{
yksityiset AxSHDocVw.AxWebBrowser axWeb Browser1;
/// <yhteenveto>
/// Tarvittava suunnitteluvaihtoehto
/// </ yhteenveto>
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
}
/// <yhteenveto>
/// puhdistaa kaikki käytetyt resurssit
/// </ yhteenveto>
suojattu yliride void Dispose( bool disposing M SK1
{
jos ( poistaa )
{
jos (komponentit != null )
{
komponentit.DisposeM SK1
}
}
pohja .Lakkautus (Lakautus );
}
#alue Windows Form Designer -koodi
/// <yhteenveto>
/// Designer-tukia varten vaadittava menetelmä - ei muuteta
/// tämän menetelmän sisältöä koodieditorilla
/// </ yhteenveto>
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
/// <yhteenveto>
/// Hakemuksen päätulopaikka
/// </ yhteenveto>
[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
}
}