相关疑难解决方法(0)

从WebBrowser控件保存图像

运行以下代码,但生成的位图向下移动大约半英寸并在底部截止.我检查了图像的宽度和高度,它创建了一个正确尺寸的图像,只是图像内容向下移动和截止.我很难过......任何想法?

    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;
    }
Run Code Online (Sandbox Code Playgroud)

.net c# browser

5
推荐指数
0
解决办法
1万
查看次数

标签 统计

.net ×1

browser ×1

c# ×1