CEFSharp 浏览器控件截图空白的解决方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/youlong198808/article/details/83577227

我的软件想法:嵌入一个浏览器,然后对浏览器内容截图,保存成图片考虑到页面兼容问题,系统自带的浏览器网页浏览器兼容不行,就到网上搜了很多资料,WebKit的,cefsharp等,最终决定用cefsharp。但是最终做的时候发现,对面板截图,一直截空白。

方法如下

            Bitmap myImage = new Bitmap(panel1.Width,panel1.Height);
            Graphics gp1 = Graphics.FromHwnd(panel1.Handle);
            panel1.DrawToBitmap(myImage,panel1.ClientRectangle);
            myImage.Save( “C:\\ 11.bmp”);

后来到网上搜到了,另外一个方法,还是对容器面板,测试,居然可以截图了!!方法如下

           图形g1 = panel1.CreateGraphics();
            Image myImage = new Bitmap(this.panel1.Width,this.panel1.Height,g1);
            图形g2 = Graphics.FromImage(myImage);
            IntPtr dc1 = g1.GetHdc();
            IntPtr dc2 = g2.GetHdc();
            BitBlt(dc2,0,0,this.panel1.Width,this.panel1.Height,dc1,0,0,1336376);
            g1.ReleaseHdc(DC1);
            g2.ReleaseHdc(DC2);
            myImage.Save( “C:\\ 11.bmp”);
            pictureBox1.Image = myImage;

展开阅读全文

没有更多推荐了,返回首页