Hallo,
Folgendes Problem:
In unserer Software werden Bilder (EKG Kurven) in Berichte eingefügt und da die Herrn Doktoren immer mal gerne auch mit dem Lineal nachmessen müssen diese Bilder eine bestimmte Grösse besitzen (z.B. 8 sekunden EKG auf 200mm).
Fürs einfügen eines von meinem Programm erzeugten Bild benutze ich folgenden Code:
Code
// vorne und hinten ist noch etwas intialisierungscode
// erzeuge ein graphik objekt -> mmWidth und mmHeight haben
// sind die millimeterangaben der bildgrösse (wird dann intern
// noch mit einer vordefinierten dpi zahl multipliziert um die bildgrösse
// zu ermitteln
graphic := repDataItem.GraphicFrom(item, num, params, mmWidth, mmHeight, maxWidth);
// jetzt wird einfach ein neues objekt eingefügt und in ein png
// umgewandelt
obj := richText.TextObjects.InsertNewObject(wpobjImage);
if not (graphic is TPNGObject) and graphic.ClassNameIs(TPNGObject.ClassName) then
begin
helper := TPNGObject.Create;
helper.Assign(graphic);
graphic.Free;
graphic := helper;
end;
// jetzt noch eine selbstgebasteltet bildrepräsentation erzeugen
// die in einem zweiten schritt sprachenunabhängige bilder zu kreieren
img := TLocWPImage.CreateImage(richText.Memo.RTFData, graphic);
except
// if a exception occures in the graphicFrom routine we have to free this
// object
FreeAndNil(locList);
FreeAndNil(img);
raise;
end;
img.AssignList(locList);
if graphic is TPngObject then
img.FileExtension := 'PNG';
// hier wird jetzt der konex zwischen dem bild und dem textobjekt erzeugt
obj.ObjRef := img;
obj.Width := Round(mmWidth*1440/25.6);
obj.Height := Round(mmHeight*1440/25.6);
Alles anzeigen
Mein Problem ist nun, dass wenn ich ein solches Objekt einfüge (z.B.
ein Bild mit 100mm Breite) dieses Bild eben nicht 100 sondern nur 99mm
hat! Ebenso die Höhe. Das mag nicht viel erscheinen es wird aber immer
wieder bei uns beanstandet. Mache ich hier irgend etwas falsch oder sind
das irgendwelche Rundungsfehler?
lg
Michael Rabatscher