C#获取到了img标签的HtmlElement怎么获取图片的内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#获取到了img标签的HtmlElement怎么获取图片的内容?相关的知识,希望对你有一定的参考价值。

以下为我写过一一个函数用来获取图片,首先得到img标签的htmlElement对象,然后IHTMLControlRange复制的方式得到图片。

/// <summary>  
/// 返回指定WebBrowser中图片<IMG></IMG>中的图内容  
/// </summary>  
/// <param name="WebCtl">WebBrowser控件</param>  
/// <param name="ImgeTag">IMG元素</param>  
/// <returns>IMG对象</returns>  
private Image GetWebImage(WebBrowser wb, string id)

    HtmlElement ImgeTag = wb.Document.GetElementById(id);
    if (ImgeTag == null)
   
        return null;
   
    HTMLDocument doc = (HTMLDocument)wbDb.Document.DomDocument;
    HTMLBody body = (HTMLBody)doc.body;
    IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
    IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址
    object oldobj = Clipboard.GetDataObject(); //备份粘贴版数据
    rang.add(Img);
    rang.execCommand("Copy", false, null);  //拷贝到内存  
    Image numImage = Clipboard.GetImage();
    try
   
        Clipboard.SetDataObject(oldobj); //恢复粘贴板内容
   
    catch
    return numImage;

效果如下:

参考技术A 通常来说查询出来的数据都是存放在一个数据集合中的,在C#中叫DataSet,你只要从这个集合中找到你想要的数据不就好了吗?
这个数据集是以表、行、列的形式存储数据的,所以我要访问某个数据可以使用以下方式:ds代表数据集对象。
ds.Tables[0].Rows[0][0];
这是将数据集中第一张表里第一行第一列的数据获取出来,获取出来后你只要通过this.txtName.Text=ds.Tables[0].Rows[0][0].ToString();这样不就好了么.
参考技术B 获取 Img 的src地址,再转化为数据流就行了 参考技术C 获取 Img src='这里的数据' src裏面不是URL就是图片的二进制码.本回答被提问者采纳

C# 怎么修改图片大小

    我把图片已经存到了我的电脑上,我知道图片的路径"书籍图片/ xxm.jpg",用C#怎么改变图片的大小并且覆盖原来的图片呢?    麻烦大虾们帮帮忙。

1、要修改图片大小和动态语言类【c#、asp、jsp】等并无直接关联,而是和html的img标签相关的
2、设置图片大小可以通过直接给img标签的width和height设置固定大小,也可以通过class类,写入样式规则设定大小,如下两种方式:
2-1、<img src="xxx.jpg" width="100" height="100" />
2-2、<img src="xxx.jpg" class="wh100" />
.wh100 width:100px; height:100px;
参考技术A 可以用生成的方式 规定图片大小后 保存为xxm.jpg 放在 书籍图片 文件夹中 就可以了 如果需要生成图片代码 我这里有个 可以给你下
public static string UploadPicture(FileUpload fileUpload, string uploadpath, string tplPath, int readSize)

string str = string.Empty;
string contentType = string.Empty;
string thumbnailPath = string.Empty;
string str4 = string.Empty;
string str5 = string.Empty;
Random random = new Random((int)DateTime.Now.Ticks);
contentType = fileUpload.PostedFile.ContentType;
str = uploadpath + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + random.Next(0x3e8, 0x270f).ToString();
if (fileUpload.PostedFile.ContentLength > 0)

if (contentType == "image/gif")

str5 = ".gif";

else if (contentType == "image/pjpeg")

str5 = ".jpg";

else if (contentType == "image/x-png")

str5 = ".png";

else

return "";

//上传原图
fileUpload.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("../../" + str) + str5);
thumbnailPath = "../../" + str + "_tmp" + str5;
str4 = "../../../" + str + "_mark" + str5;
//上传相关图片
MakeThumbnail("../../" + str + str5, thumbnailPath, 0x58, 0x58, "Cut");
string path = HttpContext.Current.Server.MapPath("../../Template/" + tplPath + "/ImgSize.xml");
XmlDocument document = new XmlDocument();
string xpath = "Picture";
if (File.Exists(path))

document.Load(path);
XmlNode node = document.SelectSingleNode(xpath);
for (int i = 0; i < node.ChildNodes.Count; i++)

string[] strArray = node.ChildNodes[i].SelectSingleNode("@value").Value.Split(new char[] '*' );
//生成缩略图
MakeThumbnail("../../" + str + str5, "../../" + str + "_" + strArray[0] + "-" + strArray[1] + str5, int.Parse(strArray[0]), int.Parse(strArray[1]), "Cut");


return (str + str5);

return "";

这个是单个图片上次 你要修改下本回答被提问者采纳

以上是关于C#获取到了img标签的HtmlElement怎么获取图片的内容?的主要内容,如果未能解决你的问题,请参考以下文章

Extjs4:如何从 HTMLElement 获取组件?

js获取a标签下img的图片路径

如何在 Frames/IFrames 中获取 HtmlElement 值?

jquery怎么创建一个img标签?

<table><imgsrc=如何理解

jquery怎么获取img的src?