@Jens Schumann
Ich glaube diese Merkwürdigkeiten bezüglich der Größe liegen daran, dass du ein Image verwendest. Ich hatte auch schonmal Schwierigkeiten damit, die Größe einer TImage-Komponente zur Laufzeit zu verändern.
Ich habs einfach mal so gemacht:
Delphi-Quellcode:
var
dc: HDC;
bmp: TBitmap;
begin
dc := GetWindowDC(GetDesktopWindow);
bmp := TBitmap.Create;
try
bmp.Width := Width;
bmp.Height := Height;
BitBlt(bmp.Canvas.Handle,0,0,Width,Height,
dc,Left,Top,SRCCOPY);
bmp.SaveToFile('
C:\test.bmp');
finally
FreeAndNil(bmp);
ReleaseDC(GetDesktopWindow,
dc);
end;
end;
Funktioniert wie erwartet
Danach kann man ja auch das Bitmap auf ein Image oder in eine PaintBox zeichnen. Von TImage lass ich die Finger wenn es nicht zur Anzeige eines feststehenden Bildes genutzt werden soll.
Viele Grüße, Sebastian