Autor Beitrag
Doommortar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Sa 29.03.08 18:20 
Hallo

Ich möchte wenn auf dem Button "Speichern unter" geklickt wird das gesamte Formular als Bild (bmp, jpg, gif) gespeichert wird.

Wie geht das hat jemand ein Code für mich? Danke. :)

Gruß


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Sa 29.03.2008 um 17:21
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 29.03.08 18:35 
Wenn Du meinst, dass es aus dem Programm heraus (nicht: aus der IDE heraus) gespeichert werden soll, ist Formular/Control drucken oder als Bitmap speichern eine mögliche Lösung.

Es ist zwar für NET 2.0 (und NET 1.1) entwickelt, funktioniert damit natürlich auch unter NET 3.5; aber vielleicht gibt es bessere Lösungen.

Jürgen
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 29.03.08 18:48 
Ich hätte es jetzt so gemacht, hab's gerade nur als Chrome-Quelltext, sollte aber einfach zu übersetzen sein:
ausblenden Delphi-Prism-Quelltext
1:
2:
3:
4:
5:
6:
7:
  using bmp := new Bitmap(self.Width, self.Height) do
  begin
    using gr := Graphics.FromImage(bmp) do      
      gr.CopyFromScreen(new Point(self.Left, self.Top), new Point(0,0), new Size(self.Width, self.Height));

    bmp.Save('e:\screen.bmp');
  end;

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Doommortar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 08.04.08 19:55 
Hallo

Ich arbeite immer noch an dem Problem. Zur Zeit möchte ich das aktive Subfenster in die Zwischenablage speichern. Mit folgenden Code bekomme ich immer das Subfenster inkl. Hauptfenster gespeichert.

Was muß ich verändern damit ich nur das Subfenster in die Zwischenablage bekomme? :roll:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
Graphics myGraphics = this.ActiveMdiChild.CreateGraphics();
Size s = ActiveForm.Size;
myBitmap = new Bitmap(s.Width, s.Height, myGraphics);
Graphics memoryGraphics = Graphics.FromImage(myBitmap);
memoryGraphics.CopyFromScreen(ActiveForm.Location.X, ActiveForm.Location.Y, 00, s);
Clipboard.SetDataObject(myBitmap);


Gruß

Moderiert von user profile iconChristian S.: Chrome- durch C#-Tags ersetzt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 09.04.08 09:21 
Hallo,

mit MDI hatte ich mich nur vor vielen Jahren mal befasst. Für mich sieht es so aus, dass Du fälschlich ActiveForm verwendest (für Size und für Location). Ich schlage vor, auch dafür ActiveMdiChild zu benutzen. Jürgen

PS. Dein Quelltext ist C#, dann benutze bitte auch diese Code-Markierung.