AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Gezeichnetes bild in paintbox speichern?
Thema durchsuchen
Ansicht
Themen-Optionen

Gezeichnetes bild in paintbox speichern?

Ein Thema von PaddyMu · begonnen am 25. Apr 2008 · letzter Beitrag vom 26. Apr 2008
Antwort Antwort
Seite 1 von 2  1 2      
PaddyMu

Registriert seit: 12. Okt 2007
26 Beiträge
 
#1

Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 14:10
hallo
ich habe mal eine warscheinlich ziemlich einfache frage:
ich möchte mein gezeichnetes über das MainMenu speichern und zwar soll das windows-speicherfeld erscheinen wenn ich auf meinen "speichern"-button klicke. ich weis DAS es geht aber leider nich wie..
hoffe mir kann jemand helfen
lg

[edit=SirThornberry]Titel geändert - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Anfänger: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 14:20
Hallo,

gibt es bei Dir den Reiter Dialogs/Dialoge in der Komponentenpalette?
Dort findest Du den SaveDialog.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Anfänger: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 14:21
um das "Speichernfeld" zu haben musst du einen TSaveDialog auf dein Form packen und dann die ExecuteMethode aufrufen:
Delphi-Quellcode:
if (SaveDialog1.Execute()) then
begin
  ShowMessage(SaveDialog1.FileName);
end;
Der Dialog kümmert sich nicht um das Speichern sondern nur um die Auswahl eines Dateinamens.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Anfänger: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 14:26
So ganz einfach, hoffe du verstehst schon den Code

Delphi-Quellcode:
//ein PictureSaveDialog (nur wenn höher als Delphi 5 hast) auf Formular setzen
// dann bei MenuItem bei OnClick folgendes
begin
  If PictureOpenDialog1.Excute then //Excute ist ein function die True zurückgibt, wenn du bei dem Dialog auf OK geklicst hast und einen Dateinamen ausgewählt hast
  begin
    Paintbox1.Canvas.Bitmap.SaveToFile('C:\MeinOrdner\ddd.bmp') //ganz wichtig am ende .bmp, wie es heir ist
  end;
end;
[edit=SirThornberry]Quelltext eingerückt - nächstes mal bitte selbst ordentlich machen - Mfg, SirThornberry[/edit]
Nickel
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Anfänger: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 14:29
Ich glaub du hast einen Schönheitsfehler im Quelltext. Im Kommentar redest du von einem PictureSaveDialog und im Quelltext steht dann etwas von einem PictureOpenDialog
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Anfänger: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 14:35
Außerdem bringt der SaveDialog nix wenn man den Dateinamen dann nicht verwendet...
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Anfänger: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 14:48
@NickelM: Seit wann hat denn TCanvas eine Bitmap Eigenschaft?
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Anfänger: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 15:43
TCanvas.Bitmap.Canvas.Bitmap.Canvas.Bitmap.Canvas. Bitmap..... wär doch mal lustig
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#9

Re: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 19:01
hehe,
da musst du Methoden/funktionen wie TCanvas.CopyRect/Bitblt/scanline etc nutzen. um das Canvas in ein temporäres TBitmap zu kopieren. ohne diesen Umweg ist mir keine möglichkeit bekannt, das bild zu speichern.

HTH Frank
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#10

Re: Gezeichnetes bild in paintbox speichern?

  Alt 25. Apr 2008, 19:26
Mal schnell eingehackt:
Delphi-Quellcode:
procedure PaintboxToBitmap(const pb: TPaintbox;
                           const bm: TBitmap;
                           pf: TPixelformat = pf24Bit);
begin
  bm.PixelFormat := pf;
  bm.Width := pb.Width;
  bm.Height := pb.Height;
  BitBlt(bm.Canvas.Handle,0,0,bm.Width,bm.Height,pb.Canvas.Handle,0,0,SRCCOPY);
end;

procedure TForm1.Button1Click(Sender: TObject);
var bm: TBitmap;
begin
  bm := TBitmap.Create;
  try
    PaintBoxToBitmap(Paintbox1,bm);
    bm.SaveToFile('C:\test.bmp');
  finally
    bm.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:45 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