Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TWebbrowser, DOM, Zugriff auf Bilder (https://www.delphipraxis.net/7524-twebbrowser-dom-zugriff-auf-bilder.html)

woki 14. Aug 2003 20:32


TWebbrowser, DOM, Zugriff auf Bilder
 
Hallo,

folgende Situation:

Benutzer sollen Metadaten zu in HTMLSeiten geladenen Bildern erfassen können. Hierzuu sollen die Bilder, für den Benuzer gekennzeichnet werden.
Ausgehend von TWebbrowser, kann ich das DOM analysieren und finde die Bilder. Gibt es jetzt eine Möglichkeit , auf die Bilder zuzugreifen, und sie zu bearbeiten?

Oder sich die URL eines Bildes zu holen, das Bild zu bearbeiten und dann das Bild im Dokumentauszutauschen?

Code:
procedure TDocumentDetails.ShowDOM;
var hallo: olevariant;
    myImage: IHTMLImgElement;
    anItem : IHTMLElementCollection;
    I :integer;
begin
  Memo1.Lines.Add('Anzahl Images ' + inttostr(FDoc.images.length));
  Memo1.Lines.Add('Anzahl Frames ' + inttostr(FDoc.frames.length));
  anItem := FDoc.images;
  if (anItem <> nil) then begin
    for i:=0 to anItem.length-1 do begin
      try
        Memo1.Lines.Add('href'+(anItem.item(hallo,i) as IHTMLIMGElement).href);
        Memo1.Lines.Add('fileSize'+(anItem.item(hallo,i) as IHTMLIMGElement).fileSize);
        Memo1.Lines.Add('name'+(anItem.item(hallo,i) as IHTMLIMGElement).name);
        Memo1.Lines.Add('border'+(anItem.item(hallo,i) as IHTMLIMGElement).border);
        Memo1.Lines.Add('fileCreatedDate'+(anItem.item(hallo,i) as IHTMLIMGElement).fileCreatedDate);
        Memo1.Lines.Add('src'+(anItem.item(hallo,i) as IHTMLIMGElement).src);

        (anItem.item(hallo,i) as IHTMLIMGElement).border :=10;
        FDoc.ExecCommand('InsertImage', False, 'C:\Daten\HyperImax\DevelopJavascript\_bilder\Bi_2_1_screen_2.gif');
      except
        on e:exception do begin
          Memo1.Lines.Add(e.Message);
        end;
      end;
    end;
  end;
end;
z.B. hat bei mir
Code:
       FDoc.ExecCommand('InsertImage', False, 'C:\Daten\HyperImax\DevelopJavascript\_bilder\Bi_2_1_screen_2.gif');
nicht funktioniert, d.h. es passiert nichts sichtbares im Dokument.

Auch ist es mir nicht gelungen, im obigen Beispiel aif BorderColor zuzureifen.
Das setzen der Border hat dagegen funktioniniert,


vielen Dank
woki


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz