Thema: Delphi Bmp verkleinern

Einzelnen Beitrag anzeigen

BigBen

Registriert seit: 12. Dez 2007
Ort: Nassenfels
11 Beiträge
 
#1

Bmp verkleinern

  Alt 31. Jan 2008, 08:16
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.
  Mit Zitat antworten Zitat