相关疑难解决方法(0)

WebBrowser.DrawToBitmap()还是其他方法?

我试图捕获WebBrowser控件的内容.DrawToBitmap()可以完美地工作,但WebBrowser控件的文档中不支持它.我一直试图找到另一种方法来捕获WebBrowser控件的内容并将它们保存到本地图像文件.

有没有人有任何变通办法或其他方法将WebBrowser控件的内容保存到本地图像文件?

.net html c# vb.net webbrowser-control

22
推荐指数
1
解决办法
2万
查看次数

如何在WebBrowser控件上使用DrawToBitmap修复不透明度错误?

根据以下链接和我的控制台应用程序,该方法DrawToBitmap不尊重不透明度.

证明链接:http: //social.msdn.microsoft.com/Forums/vstudio/en-US/e9704309-0c52-442d-80e0-2f8393dcd313/webbrowser-opacity-problem-

我的HTML代码:http://fiddle.jshell.net/L37TC/

<div id="fader" style="background-color: #ff0000">ffff</div>
<div style="background-color: blue;  opacity:0;filter:alpha(opacity=0);">HIDDEN TEXT!</div>
SomeText 
Run Code Online (Sandbox Code Playgroud)

我的C#控制台代码:

var bmp = new  Bitmap(640,480, PixelFormat::Format32bppArgb)
var web = (System.Windows.Forms.Control)sender;
web.DrawToBitmap(bmp, Rectangle(0, 0, 640,480));
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找替代的.NET内置解决方案(没有CEF,Awesomium,或任何扩展)只是.NET的内置功能来修复错误或替代解决方案,以在我的控制台中截取Web URL的屏幕截图应用.

如果我让WebBrowser窗口对我的客户端可见并且使用CopyFromScreen不透明度并且HIDDEN TEXT没有显示,那么我怎么不想让WebBrowser窗口对桌面屏幕可见.

我正在寻找一个内置的解决方案,可以在没有问题的情况下从发布的URL中截取屏幕截图HIDDEN TEXT.换句话说,是尊重opacity的解决方案.

EDIT1:我的所有像素Bitmap class(.NET类不是BMP格式)的alpha值为255.所以问题不在于文件格式.我尝试过PNG和任何其他.NET支持的格式.

完整的源代码(控制台模板,需要添加引用System.DrawingSystem.Windows.Forms

class Program
{
    static System.Windows.Forms.WebBrowser w = new System.Windows.Forms.WebBrowser();

    [STAThread]
    static void Main(string[] args) …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net webbrowser-control

8
推荐指数
1
解决办法
3568
查看次数

标签 统计

.net ×2

c# ×2

vb.net ×2

webbrowser-control ×2

html ×1