Hola marcelocarazas.
No había usado
Rave Reports, pero basándome en la muy buena documentación que te ha facilitado
nlsgarcia, te hice este ejemplo:
Código Delphi
[-]
...
implementation
var
Bitmap: TBitmap = nil;
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
with PaintBox1 do
begin
Canvas.Brush.Style:= bsClear;
Canvas.Brush.Color:= clYellow;
Canvas.Ellipse((Width div 2)-30,(Height div 2)-30,
(Width div 2)+30,(Height div 2)+30);
Canvas.Pen.Color:= clRed;
Canvas.Pen.Width:= 2;
Canvas.Pen.Style:= psSolid;
Canvas.MoveTo(0,0);
Canvas.LineTo(Width,Height);
end;
end;
procedure TForm1.btnPrintClick(Sender: TObject);
begin
if not Assigned(Bitmap) then
begin
Bitmap:= TBitmap.Create;
Bitmap.Width:= PaintBox1.Canvas.ClipRect.Right;
Bitmap.Height:= PaintBox1.Canvas.ClipRect.Bottom;
BitBlt(Bitmap.Canvas.Handle,
0,
0,
Bitmap.Width,
Bitmap.Height,
PaintBox1.Canvas.Handle,
0,
0,
SRCCOPY);
RvSystem1.Execute;
end;
end;
procedure TForm1.RvSystem1Print(Sender: TObject);
begin
with TBaseReport(Sender) do
PrintBitmap(1,1,1,1, Bitmap);
Bitmap.Free;
Bitmap:= nil;
end;
Resultado:
Saludos