Buenas pessoal.
Estou desenvolvendo um utilitário que desenha alguns gráficos usando canvas.
Criei uma classe que recebe e organiza os dados e um dos métodos dela
desenha em um canvas qualquer o gráfico.
Até aqui tudo bem. Consigo desenhar em TImages, em TBitmaps, salvar em jpeg.
A chamada do método é
Desenha(Canvas: TCanvas; x,y : integer);

Canvas é um qualquer, e x e y são coordenadas de deslocamento do
início do gráfico.

Usando um canvas de Printer, não sai nada na impressão, apesar de
nenhuma exceção ocorrer. Abaixo vai um trecho do código que executaria
a impressão.

Alguém tem uma sugestão do que estou fazendo de errado?

  PD:=TPrintDialog.Create(nil);
  try
    if not PD.Execute then
      Exit;
    J:=FJogo.Jogo[Integer(cbbJogos.Items.Objects[cbbJogos.ItemIndex])];
    Titulo:='ScoutVolei - '+cbbJogos.Items[cbbJogos.ItemIndex];
    uDesenhaJogadas.WidthQuadra:=FLargura-(2*Margem);
    uDesenhaJogadas.WidthDesenho:=Printer.PageWidth-(2*Margem);
    Printer.Title:=Titulo;
    Printer.BeginDoc;
    Printer.Canvas.Font.Size:=14;
    Printer.Canvas.Font.Style:=[fsBold];
    
CentralizaTexto(Printer.Canvas,Rect(Margem,Margem,Printer.PageWidth-Margem,Margem*2),Titulo);
    uDesenhaJogadas.DesenhaJogadas(J.Jogadas,Printer.Canvas,Margem,Margem);
    Printer.EndDoc;
  finally
    FreeAndNil(PD);
  end;

-- 
Timeo hominem unius libri
Cogito ergo sum - Carpe diem

[]s
Guionardo Furlan
http://guionardo.blogspot.com

Responder a