c# - 异常 gecko.utils.saveimage.convertimagetopng
问题描述
此代码对 geckofx33 有效,但对于 geckofx45 和 60 我有一个例外。(附加信息:值不能为空。在 gecko45 中)或(附加信息:编译脚本失败。在 gecko 60 中)。请帮我处理这些异常。这些异常与函数有关:Gecko.Utils.SaveImageElement.ConvertGeckoImageElementToPng(geckoWeb, image, (float)0, (float)0, 200, 70);
private void LoadCapcha()
{
foreach (var element in geckoWeb.Document.GetElementsByTagName("img"))
{
if (element.GetAttribute("id") == "CaptchaImage")
{
Gecko.DOM.GeckoImageElement image = (Gecko.DOM.GeckoImageElement)element;
byte[] byteImage = Gecko.Utils.SaveImageElement.ConvertGeckoImageElementToPng(geckoWeb, image, (float)0, (float)0, 200, 70);
File.WriteAllBytes("test.png", byteImage);
pictureCapchaBox.Image = Image.FromStream(new MemoryStream(byteImage));
}
}
}
我希望图像元素显示在pictureCapchaBox 中。
解决方案
看起来 GeckoFX-45 中存在一个错误,阻止您在 iframe 中捕获图像元素。
建议的解决方法是改用ImageCreator
该类:
Gecko.ImageCreator ic = new Gecko.ImageCreator(GeckoWebBrowser1);
ic.CanvasGetPngImage(img.OffsetLeft, img.OffsetTop, img.Width, img.Height);
推荐阅读
- join - 将两个列表中的行与一个列表中的通配符匹配
- typescript - 打字稿,从us币到es币
- dolphindb - 如何在 dolphindb 中以交互方式取消任务
- linux - 如何使用终端更改 Linux 上的 git 帐户?
- r - R 鼠标功能不应用自定义预测矩阵
- android - 如何使用 inSampleSize() 和 inJustDecodeBounds() 从 MediaStore 解码位图
- git - 选择分支来构建 Jenkins 工作的最新更改
- angular - 在离子搜索框中设置去抖动,角度不起作用
- python-3.x - 如何将 pandas.assign 与 lambda 和 if 条件一起使用
- javascript - 数据表中的 PHP 重定向按钮不起作用