Einzelnen Beitrag anzeigen

tofse01

Registriert seit: 20. Nov 2024
8 Beiträge
 
#13

AW: Screenshot und Skalierung

  Alt 25. Nov 2024, 11:30
Was ich erst jetzt verstanden hab, ich kann auch einen SCreenshot vom aktiven Fenster machen und muss gar nicht "rauskopieren"
Habe diese Funktion nun im Einsatz

Das Problem mit der Skalierung bleibt aber, habe dann bei dem rot markierten Code das ganze noch so berücksichtigt. Damit scheint es nun zu funktionieren

iWidth := round((Rec.Right - Rec.Left)*1.25);
iHeight := round((Rec.Bottom - Rec.Top)*1.25);


Delphi-Quellcode:
function FormularSaveScreenShot(FileName: String; h : hWnd): Boolean;
var
  Rec: TRect;
  iWidth, iHeight: Integer;
begin
  with TBitmap.Create do try
    GetWindowRect(h, Rec);

    iWidth := round((Rec.Right - Rec.Left)*1.25);
    iHeight := round((Rec.Bottom - Rec.Top)*1.25);

    Width := iWidth;
    Height := iHeight;

    BitBlt(Canvas.Handle, 0, 0, iWidth, iHeight, GetWindowDC(h), 0, 0, SRCCOPY);

    Result := True;

    try SaveToFile(Filename) except Result := False end;
  finally
    ReleaseDC(h, GetWindowDC(h));
    Free;
  end;
end;
  Mit Zitat antworten Zitat