zoukankan
html css js c++ java
获取WebBrowser中的指定图片
/**/
///
<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>
///
获取WebBrowser指定图片的索引
///
</summary>
///
<param name="webBrowser">
指定的WebBrowser
</param>
///
<param name="imgSrc">
指定的图片src,支持模糊查询
</param>
///
<param name="imgAlt">
指定的图片alt,支持模糊查询
</param>
///
<returns></returns>
public
static
Int32 GetPicIndex(
ref
WebBrowser webBrowser,
ref
String imgSrc,
ref
String imgAlt)
{
IHTMLImgElement img;
//
获取所有的Image元素
for
(Int32 i
=
0
; i
<
webBrowser.Document.Images.Count; i
++
)
{
img
=
(IHTMLImgElement)webBrowser.Document.Images[i].DomElement;
if
(imgAlt.Length
==
0
)
{
if
(img.src.IndexOf(imgSrc)
>=
0
)
return
i;
}
else
{
if
(imgSrc.Length
==
0
)
{
//
当imgSrc为空时,只匹配imgAlt
if
(img.alt.IndexOf(imgAlt)
>=
0
)
return
i;
}
else
{
//
当imgSrc不为空时,匹配imgAlt和imgSrc任意一个
if
(img.alt.IndexOf(imgAlt)
>=
0
||
img.src.IndexOf(imgSrc)
>=
0
)
return
i;
}
}
}
return
-
1
;
}
查看全文
相关阅读:
FCKEditor配置
在线文档编辑器原理
DVD格式(vob)文件转换avi,转换后可嵌入HTML中播放
Javascript小技巧
sql server 查询当前记录的前一条和后一条记录
[翻译]开发一个自己的HTML在线编辑器(二)
在线编辑器(4)TAB键缩进功能
IIS不能浏览ASP页面
C#枚举类型的使用《转》
C#中泛型使用《转》
原文地址:https://www.cnblogs.com/linmilove/p/1591661.html
最新文章
用SynCE解决Linux/BSD...下的WinCE/WM设备同步问题
实模式和保护模式(附i386/x86的由来)
TKPROF 跟踪Running a query with profile information collected
在oracle的子查询中使用some,any和all
windows系统日志怎么看
博主写的Route收费代码,随笔记录下.
上海高校的排名
博主写的Route安排的pkb源代码,注意关键部位的日期排序算法。
Oracle临时表的说明.
Oracle中列转行的2种方法.
热门文章
Oracle: Grant/Revoke Privileges
博主对Oracle对象追加属性,更改构造函数,继承方面的脚本使用记录.
博主一个删除download记录的小function,注意其中bulk collect into跟forall的利用.
Oracle中对象表的定义,nested table的使用.附带Route下载的老版本代码
水浒108将都是怎么死掉的.
博主写的Route下载的pkb代码,留个脚印.有些Object的内容.
SYS_REFCURSOR在存储过程中的再次调用.
网站
HTML无法嵌入AVI视频问题分析
document.onreadystatechange事件的用法
Copyright © 2011-2022 走看看