AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein teechartgrafik in groupbox speichern
Thema durchsuchen
Ansicht
Themen-Optionen

teechartgrafik in groupbox speichern

Ein Thema von Hartfrid Krause · begonnen am 22. Mai 2015 · letzter Beitrag vom 22. Mai 2015
Antwort Antwort
Hartfrid Krause

Registriert seit: 20. Feb 2007
90 Beiträge
 
Delphi XE6 Professional
 
#1

AW: teechartgrafik in groupbox speichern

  Alt 22. Mai 2015, 13:13
nur mit diesem Befehl

groupbox1.savetofile('123.png') [/B]

lautet der Hinweis: [dcc32 Fehler] w31_WaehlerwanderungGrafik.pas(242): E2003 Undeklarierter Bezeichner: 'savetofile'
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.199 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: teechartgrafik in groupbox speichern

  Alt 22. Mai 2015, 13:37
Ich glaube, das meinte er auch nur eher als Witz. Aber wenn ich dich nicht falsch verstehe können wir uns ein "SaveToFile" doch so selber bauen, oder?

Delphi-Quellcode:
type
   TWinControlHelper = class helper for Vcl.Controls.TWinControl
      public
         procedure SaveToFile(const fileName: String); virtual;
   end;

procedure TWinControlHelper.SaveToFile(const fileName: String);
var
   DC:    HDC;
   bmp:   TBitmap;
begin
   DC := GetWindowDC(Handle);
   try
      bmp := TBitmap.Create();
      try
         bmp.SetSize(ClientWidth, ClientHeight);
         BitBlt(
            bmp.Canvas.Handle,
            0, 0, bmp.Width, bmp.Height,
            DC, 0, 0,
            WinApi.Windows.SRCCOPY
         );
         bmp.SaveToFile(fileName);
      finally
         bmp.Destroy();
      end;
   finally
      ReleaseDC(Handle, DC);
   end;
end;
Der Button2 sagt
Delphi-Quellcode:
procedure TForm15.Button2Click(Sender: TObject);
begin
   GroupBox1.SaveToFile('x:\myGroupbox.bmp);
end;
. Was dabei herauskommt siehst du im Anhang. Ist doch richtig so, oder?
Angehängte Grafiken
Dateityp: png Form15_2015-05-22_14-30-40.png (40,2 KB, 14x aufgerufen)
Dateityp: jpg myGroupbox.jpg (10,3 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#3

AW: teechartgrafik in groupbox speichern

  Alt 22. Mai 2015, 13:42
Na ja, so ab und zu wäre doch bei einigen Antworten doch ein kleines Smiley sinnvoll gewesen, oftmals nimmt man die Antworten sonst zu ernst.

Nun zur Frage und eine mögliche Lösung:

1. Bei der Groupbox ist Canvas (leider) nicht published, also müssen wir als erstes eine Ableitung der Groupbox erstellen und den Canvas als published definieren:

Delphi-Quellcode:
type TNewGroupBox = class(TGroupBox)
  public
    property Canvas;
  end;
2. Jetzt sollte das Speichern der Groupbox als Bild eigentlich keine Probleme mehr darstellen:

Delphi-Quellcode:

var
  Bitmap: TBitmap;
  Rect: TRect;
begin
   Rect.Left:= 0;
   Rect.Top:= 0;
   Rect.bottom:= groupbox1.Height;
   Rect.Right:= groupbox1.Width;
   Bitmap := TBitmap.Create;
   Bitmap.SetSize(Groupbox1.Width, Groupbox1.Height);
   Bitmap.Canvas.CopyRect(Rect,TNewGroupBox(groupbox1).Canvas, Rect);
   Bitmap.SaveToFile(filename); //irgendetwas.bmp

...
Bitmap.free;

Geändert von bernerbaer (22. Mai 2015 um 13:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz