Mega Code Archive

 
Categories / Delphi / LAN Web TCP
 

Retrieve image properties of all images in a TWebbrowser

Title: Retrieve image properties of all images in a TWebbrowser Question: How to retrieve the height, width, file size etc. of all images in a TWebbrowser Document Answer: The IHTMLImgElement Interface provides access to some of the properties and methods supported by the img element and the input element of the image type. The other properties and methods are accessible through the IHTMLImgElement interface. Reference: http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/mshtml/reference/ifaces/imgelement/ihtmlimgelement.asp uses MSHTML_TLB; // First navigate to a page procedure TForm1.Button1Click(Sender: TObject); begin Webbrowser1.Navigate('www.google.com'); end; // Then execute the following code: 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 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;