Ich hatte ja in einem
anderen Post geschrieben, daß ich Probleme beim Drucken in einen PDF-Druckertreiber hatte.
Bei 100 Seiten fehlte wahllos eine Grafik. Nicht direkt reproduzierbar und immer an einer anderen Stelle.
Der Befehl um die Grafik zu zeichnen lautet
aCanvas.stretchdraw(aRect, fPrintBitmap);
Eigentlich eine Zeile, die ich schon tausend mal verwendet habe. Nachdem ich zuerst dachte, daß das Bitmap kein Bild beinhaltet, habe ich beim Druck die Bitmap vorher als Datei gespeichert. Alle Bitmaps (einige tausend) hatten korrekte Bilder. Also musste es am canvas oder stretchdraw liegen.
Lange Rede kurzer Sinn. Habe mal geschaut, was es für Funktionen es für TCanvas gibt. Ich habe Refresh gefunden und einfach mal ausprobiert. Die Funktion sieht nun so aus:
Delphi-Quellcode:
aCanvas.Refresh;
aCanvas.StretchDraw(aRect, fPrintBitmap);
Siehe da, -zig PDF erzeugt und bei keinem fehlt ein Bild.
Mit ist nur meist unwohl, wenn ich etwas probiere und nicht wirklich weis, ob die Lösung so OK ist. Klingt die Lösung für euch plausibel?