Hola a todos, de nuevo por estos lares
He hecho un componente a partir de un TCustomControl, que me dibuja una gráfica en un Canvas mayor que la ventana (1650 x 389)
El problema viene cuando intento imprimirlo, ya que solo soy capaz de
imprimir la parte visible.
- He intentado copiar el Canvas a un TBitmap y solo copio la parte visible

- He intentado asignar el canvas a un TImage o TBitmap, pero me da el error "Cannot assign TControl.Canvas to a TBitMap.Canvas"

- He intentado dibujar la gráfica directamente en el Canvas de un TImage o TBitmap, pero no me muestra nada (solo un area gris)

- He intentado derivar el componente de un TImage o TBitmap, pero sigo sin ver nada

¿Podeis decirme como se hace?
El código de impresión (que solo copia la parte visible)
Código Delphi
[-]
procedure TBanda.ImprimirBanda;
var
Bitmap : TBitmap;
AreaBitmap : TRect;
begin
AreaBitmap := FAreaBanda;
Bitmap := TBitmap.Create;
try
Bitmap.Height := FAreaBanda.Bottom;
Bitmap.Width := FAreaBanda.Right;
Bitmap.Canvas.CopyRect(FAreaBanda, Canvas, FAreaBanda);
PrintScaled(Bitmap); <---- esto imprime el bitmap en el canvas de la impresora
finally
Bitmap.Free;
end;
end;
Saludos
salvica