Hallo mal wieder,
ich schieße mit meinem Programm einen Ausschnitt (Werte kommen aus .txt - File) des Bildschirms und speichere ihn als bmp. Jetzt ist aber das Bild zu groß und ich will es nach dem Screenshot meinetwegen um 50% (soll auch im .txt - File stehen) kleiner machen und dann als ScreenShot.bmp speichern. Ich hab schon etliches Ausprobiert, aber irgendwie bin ich halt noch nicht so weit mit Delphi...
Delphi-Quellcode:
var
DCDesk: HDC;
bmp: TBitmap;
datei: TextFile;
j: integer;
dateien: array[0..9] of Integer;
begin
j:=0;
assignfile(datei,'koordinaten.txt');
reset(datei);
while not eof(datei) do
begin
Readln(datei, dateien[j]);
j:=j+1;
end;
// width = dateien[0]
// height = dateien[1]
// von Oben = dateien[2]
// von Links = dateien[3]
// width Klein = dateien[4] oder % - Angabe
// height Klein = dateien[5]
closefile(datei);
bmp := TBitmap.Create;
bmp.Width := dateien[0];
bmp.Height := dateien[1];
DCDesk := GetWindowDC(GetDesktopWindow);
BitBlt(bmp.Canvas.Handle, 0, 0, dateien[0], dateien[1],
DCDesk, dateien[2], dateien[3], SRCCOPY);
bmp.SaveToFile('ScreenShot.bmp');
ReleaseDC(GetDesktopWindow, DCDesk);
bmp.Free;
end.