プログラムからの印刷

 

画像の印刷
画像の印刷
2/3
2/3

uses節にPrintersを追加し、[印刷]ボタンのOnClickイベントで次のように記述します。

BeginDocメソッドで印刷ジョブを開始し、EndDocメソッドで印刷ジョブを終了し実際の印刷を開始します。
印刷の内容をPrinterのCanvasプロパティに描画します。
今回大きさは用紙サイズに合わせて拡大しています。


procedure TForm1.Button1Click(Sender: TObject);
var
 rect : TRect ;
begin
 if MessageDlg('印刷しますか?',mtConfirmation,[mbYes,mbNo],0) = mrYes then
 begin
  //ページを印刷する
  with Printer do
  begin
   BeginDoc;
   //大きさを指定
   rect.Top    := 0;
   rect.Left   := 0;
   rect.Bottom := Trunc(( PageWidth / Image1.Picture.Width) * Image1.Picture.Height);
   rect.Right  := PageWidth;
   //ファイルを描画
   Printer.Canvas.StretchDraw(rect, Image1.Picture.Graphic);
   EndDoc;
  end;
 end;
end;

2/3