// für "mshtml.IHTMLImgElement" unter Projekt->Verweise->Verweis hinzufügen->COM->Microsoft HTML Object Library hinzufügen
// benötigt außerdem ein WebBrowser-Steuerelement
//
// Aufruf:
// List<mshtml.IHTMLImgElement-> lImages = GetImagesFromDocument(webBrowser.Document);
private List<mshtml.IHTMLImgElement-> GetImagesFromDocument(HtmlDocument doc)
{
// Liste mit Bildern
List<mshtml.IHTMLImgElement-> foundimages = new List<mshtml.IHTMLImgElement->();
// alle HtmlElemente des Dokumentes durchgehen
for (int i = 0; i < doc.All.Count; i++)
{
HtmlElement el = doc.All[i];
if (el != null)
{
// akt. Html-Element versuchsweise zu IHTMLImgElement wandeln
mshtml.IHTMLImgElement htmImg = el.DomElement as mshtml.IHTMLImgElement;
// und prüfen
if (this.IsImage(htmImg)) foundimages.Add(htmImg);
}
}
return foundimages;
}
// Hilfsfunktion, um zu prüfen, ob ein IHTMLImgElement auch ein gültiges Image ist
private bool IsImage(mshtml.IHTMLImgElement htmImg)
{
bool bRetVal = false;
if (htmImg != null)
{
if (!string.IsNullOrEmpty(htmImg.fileSize))
{
// images mit filesize -1 sind fehlerhaft, deswegen rausfiltern
if (int.Parse(htmImg.fileSize) -> 0)
{
if (!string.IsNullOrEmpty(htmImg.mimeType))
{
bRetVal = true;
}
}
}
}
return bRetVal;
}