Тебе надо:
1. Понять как работать с объектом TPrinter.
2. Найти на сайте CodeGear процку подготовки картинки к печати. Она там преобразуется в DIB для корректной печати. сам налетал на это дело - печатаешь несколько картинок, какие-то печатаются, какие-то - нет. Если все в DIB'е, то, вроде, все нормально печатается.
3. Ну и дальше немного математики. Т.к. разрешение принтера заведомо очень большое, то тебе все-равно придется увеличивать картинки. Т.е. алгоритм такой. Вычисляем положение и размеры отпечатка, исходя из разрешения принтера, далее делаем Bitmap и отрисовываем на нем нужную нам картинку с масштабированием. Далее преобразуем этот битмап в DIB п это DIB выводим на канву принтера (Printer.Canvas). После того, как сформировали страницу целиком, отсылаем ее на принтер.
|