oder per bitblt übertragen
mit //* markierte Zeilen sind nur zum testen drin, brauchst du nicht
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
C:TCanvas; //*
bmp:TBitMap;
begin
c := TCanvas.Create;//*
bmp := TBitMap.Create;
try
c.Handle := GetDC(Panel1.Handle);//*
c.Rectangle(10,10,100,100); //*
bmp.Width := Panel1.Width;
bmp.height := Panel1.height;
bitBlt(bmp.Canvas.Handle,0,0 ,Panel1.Width,Panel1.Height, GetDC(Panel1.Handle),0,0,SRCCOPY);
Image1.picture.Assign(bmp);//*
finally
bmp.free;
c.Free;//*
end;
end;