Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Печать TImage   Найти похожие ветки 

 
and75 ©   (2003-12-22 13:55) [0]

Проблема в следующем:
На форме есть компонент Image1 : TImage.
Программно строится график функции. На экране все отображается нормально.
С помощью следующего кода пытаюсь распечатать изображение.
PrinterRect:=Rect(0,0,Printer.PageWidth,Printer.PageHeight);
ImageRect:=Rect(0,0,Image1.Width,Image1.Height);
Printer.BeginDoc; // инициализируем принтер

Printer.Canvas.CopyRect(PrinterRect,Image1.Canvas,ImageRect);
Printer.EndDoc; // печатаем

Результат: Пустой лист.
Заранее благодарен за помощь


 
ALEIIIKA ©   (2003-12-23 09:52) [1]


procedure TForm1.PrintButton1Click(Sender: TObject);
var
Rect : TRect;
begin
// рассчитать прямоугольник для принтера
Rect.Top := 10;
Rect.Left := 10;
Rect.Right := 10 + Form1.Image1.Picture.Graphic.Width;
Rect.Height := 10 + Form1.Image1.Picture.Graphic.Height;
// напечатать картинку
Printer.BeginDoc;
try
Printer.Canvas.StretchDraw(Rect,Form1.Image1.Picture.Graphic);
Printer.EndDoc;
except
Printer.Abort;
raise;
end;
end;


 
and75 ©   (2003-12-24 15:11) [2]

Вы не поверите.....
Но снова пустой лист...... :-(((


 
ALEIIIKA ©   (2003-12-25 09:23) [3]

небольшая ошибка:
Rect.Height => Rect.Bottom

В секции Uses добавить: Printers;

Не может быть все печатает, проверено.
Содрано из примера поставляемого в Helpe по Delphi:

This example uses a button and a memo on a form. When the user clicks the button, the content of the memo is printed, with a 200-pixel border around the page. To run this example successfully, you must add the Printers unit to the uses clause of your unit.

procedure TForm1.Button1Click(Sender: TObject);

begin
with Printer do
begin
BeginDoc;
Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),
200, 200, Memo1.Lines.Text);
EndDoc;
end;

end;




Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
14-43751
Dimka Maslov
2004-02-19 14:11
2004.03.14
Оказывается это не больно


7-43923
YuRock
2003-12-22 20:26
2004.03.14
ActiveX для Opera7


6-43718
Net_Prosto
2003-12-05 19:42
2004.03.14
Как разорвать соединение с интернетом?


14-43797
VEG
2004-02-12 23:52
2004.03.14
VisualC++6: INTERNAL COMPILER ERROR


1-43483
_dEMOn
2004-02-29 15:06
2004.03.14
RESOURSE FILE