以前的笔记或摘录:保存网页中的所有图片

来源:互联网 发布:sql exists的含义 编辑:程序博客网 时间:2024/06/11 16:23

 uses
  MSHTML_TLB;

// First navigate to a page
// Zuerst eine Seite laden
procedure TForm1.Button1Click(Sender: TObject);
begin
  Webbrowser1.Navigate('www.google.ch');
end;

// Then execute the following code:
// Dann diese Routine ausführen:
procedure TForm1.Button2Click(Sender: TObject);
var
  i: Word;
  ImageWidth, ImageHeight: Integer;
  ImageHref, ImageFileSize, ImageTextAlternative: string;
  Document: IHtmlDocument2;
begin
  // Loop through all images of a TWebbrowser
  // Schleife über alle Bilder im Webbrowser
  for i := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do
  begin
    Document := WebBrowser1.Document as IHtmlDocument2;
    // Retrieves the calculated width of the image.
    ImageWidth := WebBrowser1.OleObject.Document.Images.Item(i).Width;
    // Retrieves the height of the image.
    ImageHeight := WebBrowser1.OleObject.Document.Images.Item(i).Height;
    // Retrieves the file size of the image.
    ImageFileSize := (Document.Images.Item(i, 0) as IHTMLImgElement).FileSize;
    // Retrieves the entire URL that the browser uses to locate the image
    ImageHref := (Document.Images.Item(i, 0) as IHTMLImgElement).Href;
    // Retrieves a text alternative to the graphic.
    ImageTextAlternative := (Document.Images.Item(i, 0) as IHTMLImgElement).alt;
    // Show image information in a TListbox
    ListBox1.Items.Add(Format('%s : %d x %d Pixels; %s Bytes; %s',
      [ImageHref, ImageWidth, ImageHeight, ImageFileSize, ImageTextAlternative]));
  end;
end;