निम्न कोड चलाता है, लेकिन बिटमैप जेनरेट किया गया है, जो लगभग आधे इंच और नीचे कटऑफ को स्थानांतरित कर दिया गया है। मैंने छवि चौड़ाई और ऊंचाई की जांच की है और यह सही आकार की एक छवि बना रहा है, बस छवि सामग्री को स्थानांतरित कर दिया गया है और कटऑफ। मैं फंस गया हूँ ... कोई विचार?वेबब्राउज़र नियंत्रण से छवियों को सहेजना
using mshtml;
using System.Drawing;
using System.Runtime.InteropServices;
[ComImport, InterfaceType((short)1), Guid("3050F669-98B5-11CF-BB82-00AA00BDCE0B")]
private interface IHTMLElementRenderFixed
{
void DrawToDC(IntPtr hdc);
void SetDocumentPrinter(string bstrPrinterName, IntPtr hdc);
}
public Bitmap GetImage(string id)
{
HtmlElement e = webBrowser1.Document.GetElementById(id);
IHTMLImgElement img = (IHTMLImgElement)e.DomElement;
IHTMLElementRenderFixed render = (IHTMLElementRenderFixed)img;
Bitmap bmp = new Bitmap(img.width, img.height);
Graphics g = Graphics.FromImage(bmp);
IntPtr hdc = g.GetHdc();
render.DrawToDC(hdc);
g.ReleaseHdc(hdc);
return bmp;
}
बड़ी छवियों के लिए वास्तव में स्क्रॉल करना आवश्यक होगा? मेरा वेब ब्राउजर नियंत्रण भी दिखाई नहीं दे रहा है। मुझे लगता है कि ग्राफिक्स ऑब्जेक्ट से इसे प्रस्तुत करना काम करेगा या नहीं, यह छवि काम करेगी या नहीं। मुझे कुछ के साथ प्रयोग करने की आवश्यकता होगी। – toby
मैं पूर्ण पृष्ठों या बड़ी HTML टेबल के लिए रेंडरर का उपयोग करता हूं। वहां मुझे स्क्रॉल करने की ज़रूरत है। –