private Image GetWebImage(HTMLDocument doc, IHTMLControlElement ImgeTag) { HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img = ImgeTag; //图片地址 Image oldImage = Clipboard.GetImage(); rang.add(Img); rang.execCommand("Copy", false, null); //拷贝到内存 Image numImage = Clipboard.GetImage(); try { if (oldImage != null) { Clipboard.SetImage(oldImage); } } catch (Exception ex) { // MessageBox.Show("GetWebImage:" + ex.Message); } return(numImage); }
/// <summary> /// 需配合被辨識的網頁做調整 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { var forms = webBrowser1.Document.GetElementsByTagName("form"); // 取得整個網頁的DOM var doc = webBrowser1.Document.DomDocument as HTMLDocument; var body = doc.body as HTMLBody; IHTMLControlRange range = (IHTMLControlRange)body.createControlRange(); // 取得驗證碼圖片 var imgEle = (forms[0].GetElementsByTagName("img"))[1].DomElement as IHTMLControlElement; range.add(imgEle); range.execCommand("copy", false, Type.Missing); Application.DoEvents(); // 將圖片轉換成.Net物件 Image img = Clipboard.GetImage(); Clipboard.Clear(); pictureBox1.Image = img; Application.DoEvents(); // 將驗證碼圖片灰階化以提高辨識的準確性 pictureBox2.Image = convert2GrayScale(pictureBox1.Image); Application.DoEvents(); // 使用Tessnet Library辨識驗證碼 textBox2.Text = parseCaptchaStr(pictureBox2.Image); Application.DoEvents(); }
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { try { textBox2.Clear(); kaynakKod = webBrowser1.Document.Body.InnerHtml.ToString(); // site kaynak kod IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument; // unmanaged document nesnesini alıyoruz IHTMLControlRange imgler = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); // controlRange ile Html nesne dizisi oluşturuyoruz foreach (IHTMLImgElement img in doc.images) // Tüm img elementleri için { imgler.add((IHTMLControlElement)img); // Koleksiyona elementi ekliyoruz imgler.execCommand("copy", false, null); // Koleksiyonu Clipboard a kopyalıyoruz using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) // Clipboard daki resmi bitmap olarak alıyoruz { pictureBox1.Image = Image.FromHbitmap(bmp.GetHbitmap()); // Picturebox ta gösteriyoruz } break; } } catch { } }
//取得驗證碼圖片 public Image GetRegCodePic(WebBrowser WB, String ImgName, String Src, String Id) { HTMLDocument doc = WB.Document.DomDocument as HTMLDocument; HTMLBody body = doc.body as HTMLBody; IHTMLControlRange rang = body.createControlRange() as IHTMLControlRange; IHTMLControlElement Img; if (ImgName == "") { //如果沒有圖片的名字,通過Src或Alt中的關鍵字來取 Int32 ImgNum = GetPicIndex(WB, Src, Id); if (ImgNum == -1) { return(null); } Img = WB.Document.Images[ImgNum].DomElement as IHTMLControlElement; } else { Img = WB.Document.All[ImgName].DomElement as IHTMLControlElement; } rang.add(Img); rang.execCommand("copy", false, Type.Missing); Image RegImg = Clipboard.GetImage(); Clipboard.Clear(); return(RegImg); }
private Image GetCheckImage(HtmlElement ImageTag) { HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img = (IHTMLControlElement)ImageTag.DomElement; //圖片地址 bool containImg = Clipboard.ContainsImage(); bool containText = Clipboard.ContainsText(); Image oldImage = Clipboard.GetImage(); string oldText = Clipboard.GetText(); rang.add(Img); rang.execCommand("Copy", false, null); //拷貝到內存 Image numImage = Clipboard.GetImage(); //從Clipboard中取圖 if (containImg) { try { Clipboard.SetImage(oldImage); } //還原 catch { } } else if (containText) { try { Clipboard.SetText(oldText); } //還原 catch { } } return(numImage); }
/// <summary> /// 返回指定WebBrowser中图片<IMG></IMG>中的图内容 /// </summary> /// <param name="WebCtl">WebBrowser控件</param> /// <param name="ImgeTag">IMG元素</param> /// <returns>IMG对象</returns> public static Image GetWebImage(Form1 form, WebBrowser WebCtl, HtmlElement ImgeTag) { Image image = null; form.Invoke((EventHandler)(delegate { // 这里写你的控件代码,比如 HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址 Image oldImage = Clipboard.GetImage(); rang.add(Img); rang.execCommand("Copy", false, null); //拷贝到内存 image = Clipboard.GetImage(); try { Clipboard.SetImage(oldImage); } catch { } } )); return(image); }
private void button2_Click(object sender, EventArgs e) { /// /// 获取webbrowser里的图片 /// HTMLDocument html = (HTMLDocument)webBrowser1.Document.DomDocument;//注意是HTMLDocument而不是HtmlDocument //寻找验证码图片,因为没有ID所以得自己定位 HtmlElement elem = webBrowser1.Document.GetElementById("icode"); IHTMLControlElement img = (IHTMLControlElement)elem.DomElement; IHTMLControlRange range = (IHTMLControlRange)((HTMLBody)html.body).createControlRange(); range.add(img); range.execCommand("Copy", false, null); if (Clipboard.ContainsImage()) { Image pic = Clipboard.GetImage(); this.pictureBox1.Image = pic; Bitmap bitmap = (Bitmap)pic.Clone(); bitmap.Save(Application.StartupPath + "\\numbers\\" + DateTime.Now.Ticks.ToString() + ".bmp"); JWDecode decode = new JWDecode(); string result = decode.Decode(bitmap, Application.StartupPath + "\\numbers2\\"); label1.Text = result; } }
private async Task <ImageSource> GetVerifyCodeInternal() { //await HookScript(WebBrowser, "/Assets/Json.js"); //await HookScript(WebBrowser, "/Assets/GetCode.js"); //var resultData = WebBrowser.Document.InvokeScript("GetCode"); //var result = JsonConvert.DeserializeObject<ImageSize>(resultData.ToString()); //if (result.ErrorCode != ErrorCode.Ok) //{ // throw new Exception($"{result.ErrorCode}"); //} foreach (HtmlElement image in WebBrowser.Document.Images) { var dom = (IHTMLImgElement)image.DomElement; if (dom.src == "http://www.tsdm.net/plugin.php?id=oracle:verify") { HTMLBody body = (HTMLBody)WebBrowser.Document.Body.DomElement; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); rang.add((IHTMLControlElement)dom); var result = rang.execCommand("Copy"); await Task.Delay(1000); Bitmap bitmap = (Bitmap)System.Windows.Forms.Clipboard.GetImage(); var s = BitmapToBitmapSource(bitmap); return(s); } } return(null); }
private void DownloadCaptcha(WebBrowser w) { TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap)); IHTMLDocument2 doc; try { doc = (IHTMLDocument2)w.Document.Window.Frames[1].Document.DomDocument; } catch { doc = (IHTMLDocument2)w.Document.DomDocument; } IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); foreach (IHTMLImgElement img in doc.images) { imgRange.add((IHTMLControlElement)img); imgRange.execCommand("Copy", false, null); using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) { bmp.Save(@"Captcha.png"); } } }
private void button1_Click(object sender, EventArgs e) { //to use following DOM classes, u need to add reference to Microsoft.mshtml //using mshtml; IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument; IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); foreach (IHTMLImgElement img in doc.images) { imgRange.add((IHTMLControlElement)img); imgRange.execCommand("Copy", false, null); try { using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) bmp.Save(img.nameProp + ".jpg"); } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } }
/* * * 示例1: * 下面是某个站的注册码图片的HTML部分源代码 * <IMG height=80 alt="Registration Verification Code" src="......" width=290 border=0> * picturebox1.Image =GetRegCodePic(wbMail, "", "", "Registration Verification Code") * * 示例2: * 下面是某个站的注册码图片的HTML部分源代码 * <IMG id=CAPTCHAImage src="......." name=CAPTCHAImage> * picturebox1.Image =GetRegCodePic(wbMail, "CAPTCHAImage", "", "") //通过验证码Html元素的名字来 * */ #endregion /// <summary> /// 获取验证码图片 /// </summary> /// <param name="wbMail"></param> /// <param name="ImgName"></param> /// <param name="Src"></param> /// <param name="Alt"></param> /// <returns></returns> public static Image GetRegCodePic(WebBrowser wbMail, string ImgName, string Src, string Alt) { HTMLDocument doc = (HTMLDocument)wbMail.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img; if (ImgName == "") //如果没有图片的名字,通过Src或Alt中的关键字来取 { int ImgNum = GetPicIndex(wbMail, Src, Alt); if (ImgNum == -1) { return(null); } Img = (IHTMLControlElement)wbMail.Document.Images[ImgNum].DomElement; } else { Img = (IHTMLControlElement)wbMail.Document.All[ImgName].DomElement; } rang.add(Img); rang.execCommand("Copy", false, null); Image RegImg = Clipboard.GetImage(); Clipboard.Clear(); return(RegImg); }
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { #region Güvenlik Kodu Resmi Çekme IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument; // unmanaged document nesnesini alıyoruz IHTMLControlRange imgler = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); // controlRange ile Html nesne dizisi oluşturuyoruz foreach (IHTMLImgElement img in doc.images) // Tüm img elementleri için { imgler.add((IHTMLControlElement)img); // Koleksiyona elementi ekliyoruz imgler.execCommand("copy", false, null); // Koleksiyonu Clipboard a kopyalıyoruz using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) // Clipboard daki resmi bitmap olarak alıyoruz { arr.Clear(); bmp1 = Image.FromHbitmap(bmp.GetHbitmap()); pictureBox1.Image = bmp1; for (int i = 0; i < bmp1.Width; i++) { for (int k = 0; k < bmp1.Height; k++) { arr.Add(bmp1.GetPixel(i, k).Name); } } } } #endregion //Veritabanı Güncelleme listele(); timer2.Enabled = true; }
private void button1_Click(object sender, EventArgs e) { var id = ConfigurationManager.AppSettings["ImgId"]; var img = webBrowser1.Document.GetElementById(id); img.InvokeMember("click"); HTMLDocument html = (HTMLDocument)this.webBrowser1.Document.DomDocument; IHTMLControlElement img2 = (IHTMLControlElement)webBrowser1.Document.Images[id].DomElement; IHTMLControlRange range = (IHTMLControlRange)((HTMLBody)html.body).createControlRange(); range.add(img2); range.execCommand("Copy", false, null); if (Clipboard.ContainsImage()) { pictureBox1.Image = Clipboard.GetImage(); } else { MessageBox.Show("获取验证码失败"); } Clipboard.Clear(); pictureBox2.Image = VerificationCode.ProcessBmp(new Bitmap(pictureBox1.Image)); textBox1.Text = VerificationCode.Spot(new Bitmap(pictureBox1.Image), 4); }
/// <summary> /// 获取WebBrowser指定的图片 /// </summary> /// <param name="webBrowser">需要获取图片的WebBrowser</param> /// <param name="imgID">指定的图片的id(优先查找指定id)</param> /// <param name="imgSrc">指定的图片的src,支持模糊查询</param> /// <param name="imgAlt">指定的图片的src, 支持模糊查询</param> /// <returns></returns> public static Image GetRegCodePic(ref WebBrowser webBrowser, String imgID, String imgSrc, String imgAlt) { HTMLDocument doc = (HTMLDocument)webBrowser.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement img; // 如果没有图片的ID,通过Src或Alt中的关键字来取 if (imgID.Length == 0) { Int32 ImgNum = GetPicIndex(ref webBrowser, ref imgSrc, ref imgAlt); if (ImgNum == -1) { return(null); } img = (IHTMLControlElement)webBrowser.Document.Images[ImgNum].DomElement; } else { img = (IHTMLControlElement)webBrowser.Document.All[imgID].DomElement; } rang.add(img); rang.execCommand("Copy", false, null); Image regImg = Clipboard.GetImage(); Clipboard.Clear(); return(regImg); }
/// <summary> /// 获取图像内容 /// </summary> /// <param name="browser">显示图像的浏览器控件</param> /// <param name="imgElement">从浏览器中读取到的img</param> private static Image GetImage(WebBrowser browser, HtmlElement imgElement) { HTMLDocument doc = (HTMLDocument)browser.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement img = (IHTMLControlElement)(imgElement.DomElement); rang.add(img); rang.execCommand("Copy", false, null); Image regImg = Clipboard.GetImage(); Clipboard.Clear(); return(regImg); }
private void SelectImage() { // We don't want a selection changed event to fire during the initial insert. if (_invocationSource == ImageDecoratorInvocationSource.InitialInsert) { return; } IHTMLTextContainer textContainer = ((IHTMLDocument2)_element.document).body as IHTMLTextContainer; IHTMLControlRange controlRange = textContainer.createControlRange() as IHTMLControlRange; controlRange.add(_element as IHTMLControlElement); controlRange.select(); }
/// <summary> /// 获取验证码图片 /// </summary> /// <param name="imgId"></param> /// <returns></returns> private Image GetValidateCode(string imgId) { Image myImage = new Bitmap(60, 20); HtmlDocument doc = webBrowser1.Document; IHTMLControlElement img = (IHTMLControlElement)doc.Images[imgId].DomElement; IHTMLDocument2 tmpDoc = webBrowser1.Document.DomDocument as IHTMLDocument2; HTMLBody body = (HTMLBody)tmpDoc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); rang.add(img); rang.execCommand("Copy", false, null); myImage = Clipboard.GetImage(); return(myImage); }
/// <summary> /// 返回指定WebBrowser中图片<IMG></IMG>中的图内容 /// </summary> /// <param name="webCtl">WebBrowser控件</param> /// <param name="imgeTag">IMG元素</param> /// <returns>IMG对象</returns> private Image GetWebImage(WebBrowser webBrowser, string imgeTagId) { System.Windows.Forms.HtmlDocument winHtmlDoc = webBrowser.Document; HTMLDocument doc = (HTMLDocument)winHtmlDoc.DomDocument; HtmlElement imgTag = winHtmlDoc.GetElementById(imgeTagId); HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement imgE = (IHTMLControlElement)imgTag.DomElement; //图片地址 rang.add(imgE); rang.execCommand("Copy", false, null); //拷贝到内存 Image numImage = Clipboard.GetImage(); return(numImage); }
/// <summary> /// 返回指定WebBrowser中图片<IMG></IMG>中的图内容 /// </summary> /// <param name="WebCtl">WebBrowser控件</param> /// <param name="ImgeTag">IMG元素</param> /// <returns>IMG对象</returns> private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag) { HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址 Image oldImage = Clipboard.GetImage(); rang.add(Img); rang.execCommand("Copy", false, null); //拷贝到内存 Image numImage = Clipboard.GetImage(); Clipboard.SetImage(oldImage); return(numImage); }
private void ProcessImagesFromDocument() { IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument; IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); foreach (IHTMLImgElement img in doc.images) { imgRange.add((IHTMLControlElement)img); imgRange.execCommand("Copy", false, null); using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) { bmp.Save(@"C:\" + img.nameProp); } } }
/// <summary> /// 得到验证码图片 /// </summary> /// <param name="doc"></param> /// <param name="ImgName"></param> /// <returns></returns> public static Image GetPic(HtmlDocument doc, string ImgName) { Image RegImg; HTMLDocument domDoc = (HTMLDocument)doc.DomDocument; HTMLBody body = (HTMLBody)domDoc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img; Img = (IHTMLControlElement)doc.All[ImgName].DomElement; rang.add(Img); rang.execCommand("Copy", false, null); RegImg = Clipboard.GetImage(); Clipboard.Clear(); return(RegImg); }
public void GetCacheImage(WebBrowser webBrower, string id, MyDelegate myDelegate, Window window) { HTMLDocument doc = (HTMLDocument)webBrower.Document; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement img = (IHTMLControlElement)(doc.getElementById(id)); rang.add(img); rang.execCommand("Copy", true, null); try { BitmapSource bitmap = Clipboard.GetImage(); byte[] dcimg = ConvertToBytes(bitmap);//验证码字节码 Clipboard.Clear(); string result = Dc.RecByte_A(dcimg, dcimg.Length, ConfigurationManager.AppSettings["chaorenuser"], ConfigurationManager.AppSettings["chaorenpw"], ConfigurationManager.AppSettings["softid"]); string verificationCode = result.Substring(0, result.IndexOf("|!|")); myDelegate(verificationCode); doc = null; body = null; rang = null; img = null; GC.Collect(); } catch (Exception e) { Thread thr = new Thread(() => { string userSaveFiler = Directory.GetCurrentDirectory() + "\\weeorlog.txt";//用户账号保存文件 FileStream fs = new FileStream(userSaveFiler, FileMode.OpenOrCreate); StreamWriter sw = new StreamWriter(fs); sw.WriteLine(e.ToString()); sw.Close(); fs.Close(); //这里还可以处理些比较耗时的事情。 Thread.Sleep(1000);//延时2秒 window.Dispatcher.Invoke(new Action(() => { Clipboard.Clear(); GetCacheImage(webBrower, id, myDelegate, window); })); }); thr.Start(); } }
private Bitmap GetLoginCaptchaImage() { Bitmap image = null; IHTMLDocument2 doc = (IHTMLDocument2)_wbMain.Document.DomDocument; HtmlDocument d = _wbMain.Document; IHTMLControlRange imgRange1 = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); foreach (IHTMLImgElement img in doc.images) { imgRange1.add((IHTMLControlElement)img); object a = Clipboard.GetDataObject(); imgRange1.execCommand("Copy", false, null); image = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap); } return(image); }
public void CopyClip() { try { string image_name = "temp.bmp"; IHTMLDocument2 document = (IHTMLDocument2)webBrowser1.Document.DomDocument; IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)document.body).createControlRange(); Clipboard.Clear(); imgRange.add(document.all.item("loginfrm:j_idt11")); imgRange.execCommand("Copy"); using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) { bmp.Save(image_name); } } catch (Exception x) { } }
//讀入驗證碼 private Image Getimage() { HTMLDocument doc = webBrowser1.Document.DomDocument as HTMLDocument; HTMLBody body = doc.body as HTMLBody; IHTMLControlRange range = body.createControlRange(); //取得網頁中第[0]個圖片(因為我要取得的圖片的沒有ID) //也可使用GetElementById("ID名稱")取得圖片 IHTMLControlElement imgElement = webBrowser1.Document.GetElementsByTagName("img")[0].DomElement as IHTMLControlElement; //複製圖片至剪貼簿 range.add(imgElement); range.execCommand("copy", false, Type.Missing); //取得圖片 img = Clipboard.GetImage(); Clipboard.Clear(); return(img); }
public bool CopyImageToClipboard() { IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument; IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); foreach (IHTMLImgElement img in doc.images) { string alt = img.alt; if (alt.IndexOf("期") != -1) { imgRange.add(img as IHTMLControlElement); imgRange.execCommand("Copy", false, null); return(true); } } return(false); }
private void GetImages() { string dirPath = Utils.Instance.GetAndCreateDirectoryPath(); path_tbx.Text = ""; IHTMLDocument2 doc = (IHTMLDocument2)villa_wbr.Document.DomDocument; IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); int k = 0; foreach (IHTMLImgElement img in doc.images) { imgRange.add((IHTMLControlElement)img); imgRange.execCommand("Copy", false, null); using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) { if ((bmp != null) && (bmp.Size.Width >= 100) && (bmp.Size.Height >= 100)) { string namePath = k.ToString() + ".jpg"; if (img.nameProp.ToLower().Substring(img.nameProp.Length - 5).Contains(".gif")) { namePath = k.ToString() + ".gif"; } //string namePath = img.nameProp.ToLower().Replace(".jpg", "") + ".jpg"; bmp.Save(Path.Combine(dirPath, namePath)); k++; } //return bmp;//bmp.Save(@"C:\" + img.nameProp); } } path_tbx.Text = dirPath; path_tbx.SelectAll(); //WebClient wc = new WebClient(); //byte[] bytes = wc.DownloadData(url); //Bitmap b = new Bitmap(new MemoryStream(bytes)); //return b; }
public static Image GetRegCodePic(WebBrowser wb, HtmlElement ImgeTag) { if (ImgeTag.TagName.ToUpper() != "IMG") { return(null); } HTMLDocument doc = (HTMLDocument)wb.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址 Image oldImage = Clipboard.GetImage(); rang.add(Img); rang.execCommand("Copy", false, null); //拷贝到内存 Image numImage = Clipboard.GetImage(); Clipboard.Clear(); return(numImage); }
void AnaFormaGuvenlikKodunuGonder() { IHTMLDocument2 doc = (IHTMLDocument2)webEOkul.Document.DomDocument; // gets the dom document of our object WebBrowser1 IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); // setting up the controls so we can copy/paste the HTML image objects foreach (IHTMLImgElement img in doc.images) // walk through all the images inside the dom document { imgRange.add((IHTMLControlElement)img); // set up which image (the current one) we are controlling imgRange.execCommand("Copy", false, null); // copy the current controlled image Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap); // create a bitmap object { if (img.src.Contains("https://e-okul.meb.gov.tr/guvenlikkod.aspx?id=")) { frmAna ana = (frmAna)Application.OpenForms["frmAna"]; ana.GuvenlikKodu(bmp);// save the bitmap object to this path on our harddrive break; } } } }
private Bitmap GetPaymentCaptchaImage() { Bitmap image = null; var elPaymentVerificationImage = _wbMain.GetElementByIDEx("_verifyImage"); IHTMLDocument2 doc = (IHTMLDocument2)elPaymentVerificationImage.Document.DomDocument; HtmlDocument d = _wbMain.Document; IHTMLControlRange imgRange1 = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange(); foreach (IHTMLImgElement img in doc.images) { imgRange1.add((IHTMLControlElement)img); object a = Clipboard.GetDataObject(); imgRange1.execCommand("Copy", false, null); image = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap); break; } return(image); }