Questo è l'unico modo che ho trovato. Curioso se qualcun altro ha un modo migliore.
Copiato da CodeProject
È necessario aggiungere un riferimento a Microsoft.mshtml e, naturalmente, attesa per il documento per completare il caricamento. Ciò salverà le immagini caricate in un componente System.Windows.Forms.WebBrowser webBrowser1
, anche quelle che non desideri.
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);
}
}
hi ... grazie per la risposta, Spero solo che qualcuno si presenti con un'altra soluzione, come ho davvero non posso utilizzare la clipboard del genere ... – lebhero
bene se gli appunti è off limits, poi altri che passare attraverso la cache, l'unico altro modo potrebbe essere quello di scaricare nuovamente l'immagine. Ma vediamo cosa ne pensano gli altri – Asher
Molto utile. Potrebbe voler aggiungere la possibilità di salvare e ripristinare i vecchi dati degli appunti. 'var clipboardData = Clipboard.GetDataObject();' prima di 'foreach' e' Clipboard.SetDataObject (clipboardData); 'dopo' foreach'. – iCantSeeSharp