मैं पिछले सप्ताह अपनी परियोजना में एक समान कार्य पर काम कर रहा था, इस विषय पर आपके लिंक सहित कुछ पोस्ट पढ़ें। मैं अपना अनुभव साझा करना चाहता हूं:
इस फ़ंक्शन का मुख्य भाग System.Windows.Forms.WebBrowser.DrawToBitmap विधि है।
लेकिन इसकी असमर्थित और does not काम
यह समर्थित है और काम करता है, लेकिन हमेशा नहीं ठीक काम करता है। कुछ परिस्थितियों में आपको एक खाली छवि स्क्रीनशॉट मिलेगा (मेरे अनुभव में, जितना अधिक जटिल एचटीएमएल लोड होता है, उतना ही अधिक संभव हो जाता है। मेरे प्रोजेक्ट में केवल बहुत ही सरल और अच्छी तरह से स्वरूपित एचटीएमएल वेबब्रोसर नियंत्रण में लोड किए जाएंगे, इसलिए मुझे कभी नहीं मिलता खाली छवियां)।
वैसे भी मेरे पास कोई 100% सही समाधान नहीं है। यहां मेरे कोर कोड का हिस्सा है और उम्मीद है कि यह मदद करता है (यह एएसपी.नेट एमवीसी 3 पर काम करता है)।
using (var browser = new System.Windows.Forms.WebBrowser())
{
browser.DocumentCompleted += delegate
{
using (var pic = new Bitmap(browser.Width, browser.Height))
{
browser.DrawToBitmap(pic, new Rectangle(0, 0, pic.Width, pic.Height));
pic.Save(imagePath);
}
};
browser.Navigate(Server.MapPath("~") + htmlPath); //a file or a url
browser.ScrollBarsEnabled = false;
while (browser.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents();
}
}
स्रोत
2013-01-05 02:11:09
यदि आपका मतलब है कि थ्रेड, उन्हें जोड़ने के बारे में और यह निर्दिष्ट करना कि उनमें से प्रत्येक –
क्यों काम नहीं कर रहा है, तो आप मैट हैं। क्या आप जवाब जानते हैं? – user1873073
@ user1873073 कृपया अपने कोड का हिस्सा पोस्ट करें। खासकर जहां आप दस्तावेज़ लोड कर रहे हैं और आपका दस्तावेज़ पूरा हो गया है। – scartag