Die Idee mit dem Webbrowser/
HTML-Text finde ich auch gut, da es da relativ einfach ist eine Grafik zu integrieren.
Hier noch kurz zum Link aus #1
Delphi-Quellcode:
function BitmapToRTF(pict: TBitmap): string;
var
bi,bb,rtf: string;
bis,bbs: Cardinal;
achar: ShortString;
hexpict: string;
I: Integer;
begin
GetDIBSizes(pict.Handle,bis,bbs);
SetLength(bi,bis);
SetLength(bb,bbs);
GetDIB(pict.Handle,pict.Palette,PChar(bi)^,PChar(b b)^);
[b]rtf := '{\rtf1 {\pict\dibitmap ';[/b] {------------------------"Header für Bilddaten}
{--------------- Auslesen Bilddaten und erstellen Bild-RTF-String (hexpict) -------}
SetLength(hexpict,(Length(bb) + Length(bi)) * 2);
I := 2;
for bis := 1 to Length(bi) do
begin
achar := Format('%x',[Integer(bi[bis])]);
if Length(achar) = 1 then
achar := '0' + achar;
hexpict[I-1] := achar[1];
hexpict[I] := achar[2];
Inc(I,2);
end;
for bbs := 1 to Length(bb) do
begin
achar := Format('%x',[Integer(bb[bbs])]);
if Length(achar) = 1 then
achar := '0' + achar;
hexpict[I-1] := achar[1];
hexpict[I] := achar[2];
Inc(I,2);
end;
rtf := rtf + hexpict + ' }}'; {------ Zusammenführen}
Result := rtf;
end;
(Das ist nicht auf meinem Mist gewachsen! von mir sind nur die Kommentare und ein wenig Format)
Was die Positionierung innerhalb der RTF-Datei angeht, solltest Du Dich am besten am (Word)-Original orientieren, Vorsicht, da gibt's auch Unterschiede (Shape und Image und..) aber ich hab die Details gerade nicht zur Hand.
Nimm die
HTML-Lösung, die ist einfacher in den Griff zu kriegen.
Gruß
K-H