Einzelnen Beitrag anzeigen

woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#1

TWebbrowser, DOM, Zugriff auf Bilder

  Alt 14. Aug 2003, 20:32
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
  Mit Zitat antworten Zitat