Autor Beitrag
Hendrik
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324



BeitragVerfasst: Mo 02.03.09 18:17 
Hey!

Ich bin mit meinem Problem so langsam am verzweifeln:

Ich möchte den Inhalt einer Scrollbox (dort sind über einem Hintergrundbild weitere Bilder vom Benutzer angeordnet) als JPG speichern. Das funktioniert über das Umwandeln des Formstyles in FSNonen, Anpassen der Fenstergröße an das Hintergrundbild und schließlich die Procedure getformimage auch. Wenn die Größe des Hintergrundbildes die Bildschirmgröße übersteigt, wird natürlich ein Teil abgeschnitten.

Hat irgendjemand eine Idee. Ich habe schon einen Weg gesucht, die Komponenten auf ein Bitmap zu zeichnen. Das scheint jedoch nicht möglich zu sein.
Jens Jung
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 05.03.09 10:10 
Hi Hendrik,

was genaues kann ich Dir da auch nicht liefern, aber sollte es nicht möglich sein einen Screenshot in ein neues Image zu kopieren:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Procedure TFrmScreenshot.ScreenShot(Bild: TBitMap;hoch:integer;breit:integer);
var                      //Screenshot machen
  c: TCanvas;            //hab ich auch nur aus'm Forum kopiert
  r: TRect;
begin
  c:= TCanvas.Create;
  c.Handle:= GetWindowDC (GetDesktopWindow);
  try
    r:= Rect(0,0,screen.width,screen.height);
    Bild.Width:=breit;             //höhe und Breite des Bilds begenzen
    Bild.Height:=hoch;
    Bild.Canvas.CopyRect(r, c, r); //Bild in unsichtbares Image reinmachen
  finally
    ReleaseDC(0, c.handle);
    c.Free;
  end;
end;

Dann die ScrollBox zu verschieben bzw. scrollen, vom Rest einen Screenshot zu machen und an das Image anzufügen?
War nur so'n Gedankenblitz, aber vielleicht geht's ja.

Gruß
Jens

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt