Tambien podes usar la funcion
PaintTo que tienen todos los TWinControl. Si te fijas en la ayuda de PaintTo explica incluso como pintar el control directamente sobre la impresora para imprimirlo.
Código Delphi
[-]
var
bmp: TBitmap;
begin
bmp := TBitmap.Create;
try
bmp.Width := Panel1.Width;
bmp.Height := Panel1.Height;
Panel1.PaintTo(bmp.Canvas.Handle,0,0);
bmp.SaveToFile('c:\temp.bmp');
finally
bmp.Free;
end;
end;
Saludos