AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Problem beim Speichern einer mit Canvas gezeichneten Grafik
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Speichern einer mit Canvas gezeichneten Grafik

Ein Thema von blender · begonnen am 25. Feb 2008 · letzter Beitrag vom 27. Feb 2008
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:22
Nein, da du den SaveDialog zum speichern irgendwie nicht anklicken kannst
Außerdem ruft der Button den SaveDialog im Endeffekt ja sowieso auf
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
blender

Registriert seit: 25. Feb 2008
95 Beiträge
 
Delphi 7 Personal
 
#12

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:26
Uups...
Das habe ich vergessen.
Wie sieht der Quelltext denn nun für den Button mit dem SaveDialog aus?
(Ohne euch wäre ich hoffnungslos verloren!!!)
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:30
DeddyH hat es doch schon so gut wie fertig gezeigt, du musst das nur noch ins OnClick vom Button packen und fertig:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Bitmap : TBitmap;
begin
  if SaveDialog1.Execute then
    begin
      Bitmap:=TBitmap.Create;
      Try
        Bitmap.Width:=PaintBox1.ClientWidth;
        Bitmap.Height:=PaintBox1.ClientHeight;
        BitBlt(Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height,
               PaintBox1.Canvas.Handle,0,0,SRCCOPY);
        Bitmap.SaveToFile(SaveDialog1.FileName);
      Finally
        Bitmap.Free;
      end;
    end;
end;

//EDIT Ich würde dir dazu noch raten, den Filter vom SaveDialog auf *.bmp zu setzen
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
blender

Registriert seit: 25. Feb 2008
95 Beiträge
 
Delphi 7 Personal
 
#14

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:43
Danke.
Ich habe es ausprobiert.
Die datei wird gespeichert.
Trotzdem gibt es noch zwei Probleme:
1.
Die endung wird nicht automatisch hinzugefügt.
Es müsste also so aussehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Bitmap : TBitmap;
begin
  if SaveDialog1.Execute then
    begin
      Bitmap:=TBitmap.Create;
      Try
        Bitmap.Width:=PaintBox1.ClientWidth;
        Bitmap.Height:=PaintBox1.ClientHeight;
        BitBlt(Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height,
               PaintBox1.Canvas.Handle,0,0,SRCCOPY);
        Bitmap.SaveToFile(SaveDialog1.FileName + '.bmp');
      Finally
        Bitmap.Free;
      end;
    end;
end;
Tut es der Filter auch allein?

2.
Da das Bild auf den Hintergrund gezeichnet wird, wird, wenn ich minimiere, der Hintergrund wieder Grau.
Das Passiert auch, wenn man ein Fenster darüber zieht.
Also auch beim SaveDialog.
Kann man das irgendwie beheben?
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:45
Ich weiß nicht, ob es eine bessere Lösung gibt, aber wenn du statt der Paintbox ein Image nimmst, bleibt das bild auch beim minimieren etc. da

Und zu der Endung, gib einfach beim SaveDialog bei DefaultExt ".bmp" an, dann wird das bmp automatisch hinzugefügt
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
blender

Registriert seit: 25. Feb 2008
95 Beiträge
 
Delphi 7 Personal
 
#16

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:49
Wie geht das?
(Ich habe doch gesagt, dass ich ein Anfänger bin!!!)
Ich weiß ja, dass TImage automatisch aktualisiert, aber wie krieg ich da mein Diagramm rein?

Wie ist das Programm eigentlich?(Für einen Anfänger)
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#17

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:51
unter Filter kannst du es einstellen, sonst ist das Programm nicht schlecht
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:52
auf dem Image kannst du genau so zeichnen wie auf der paintbox (also mit Image1.Canvas...)
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
blender

Registriert seit: 25. Feb 2008
95 Beiträge
 
Delphi 7 Personal
 
#19

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:56
Muss ich dann vor aus jedem Canvas ein Image1.canvas machen?
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Problem beim Speichern einer mit Canvas gezeichneten Gra

  Alt 25. Feb 2008, 19:59
Du hast doch vorher auf der paintbox gezeichnet, also Paintbox1.Canvas, das ersetzt du einfach überall durch Image1.Canvas
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 22:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz