Bild (IHTMLImgElement) mittels WebClient herunterladen

// für "mshtml.IHTMLImgElement" unter Projekt->Verweise->Verweis hinzufügen->COM->Microsoft HTML Object Library hinzufügen
// benötigt wird außerdem ein WebBrowser-Steuerelement
//
// Aufruf:
// HtmlElement el = webBrowser.Document.All[0];
// mshtml.IHTMLImgElement htmImg = el.DomElement as mshtml.IHTMLImgElement;
// if (htmImg != null)
// {
//     if (DownloadImage(htmImg, @"c:\Bilder\12345.png", ImageFormat.Png)
//     {
//         // irgendwas machen
//     }
// }

private bool DownloadImage(mshtml.IHTMLImgElement el, string sFileName, ImageFormat format)
{
    bool bRetVal = false;

    try
    {
        // WebClient für Download erzeugen
        WebClient client = new WebClient();
        // Stream an der Adresse "el.href" herunterladen
        Stream stream = client.OpenRead(el.href);

        // Stream an Bitmap übergeben und im übergebenen Format speichern
        Bitmap bitmap = new Bitmap(stream);
        bitmap.Save(sFileName, format);
        bitmap.Dispose();

        // aufräumen
        stream.Flush();
        stream.Close();
        stream.Dispose();

        client.Dispose();

        bRetVal = true;
    }
    catch (Exception e)
    {
        MessageBox.Show(e.Message);
    }

    return bRetVal;
}