Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Canvas in TBitmap ??? (https://www.delphipraxis.net/36782-canvas-tbitmap.html)

Birzenbae 5. Jan 2005 00:20

Re: Canvas in TBitmap ???
 
also ich hab das so gemeint du deklarierst ne variable vom TBitmap in private, auf der Variable/Bitmap kannst du dann zeichnen bzw. zeichnen lassen dann lässt du der Bitmap in die Paintbox zeichnen und du kannst die Variable/Bitmap mit der IF-Anweisung speichern. die eigenschaften der Bitmap und das erstellen machst du in der Create procedure der Form.

dizzy 5. Jan 2005 00:36

Re: Canvas in TBitmap ???
 
Ich glaube Birzenbae meint folgendes: Zeichne nicht direkt in die PaintBox, sondern zeichne auf den Canvas eines TBitmaps dass du immer im Speicher hälst. Bei Bedarf kopierst du dieses dann zum Anzeigen in die PaintBox (Draw, BitBlt, ...), oder speichert es mit SaveToFile ab.
Dann hast du eine Variable im Hintergrund aus der heraus du sowohl anzeigen, als auch speichern kannst.

Gruss,
Fabian

Magier 5. Jan 2005 01:29

Re: Canvas in TBitmap ???
 
Zitat:

Zitat von Birzenbae
also ich hab das so gemeint du deklarierst ne variable vom TBitmap in private, auf der Variable/Bitmap kannst du dann zeichnen bzw. zeichnen lassen dann lässt du der Bitmap in die Paintbox zeichnen und du kannst die Variable/Bitmap mit der IF-Anweisung speichern. die eigenschaften der Bitmap und das erstellen machst du in der Create procedure der Form.

dann kann er auch direkt timage nehmen.

Birzenbae 5. Jan 2005 14:50

Re: Canvas in TBitmap ???
 
ja das hängt dann davon ab ob er zeichnen oder es zeichnen lassen will, weil will er zeichnen lassen also vom programm selbst ist TImage besser da es zum anzeigen gedacht ist, will er jedoch selbst ist paintbox angebrachter da es wieder name schon sagt zum malen bzw. zeichnen gedacht ist, jedoch sollte nicht direkt auf die canvas der paintbox gezeichnet werden, sondern mit hilfe der größe der paintbox auf die canvas der TBitMap und dann in die Paintbox zeichnen lassen, da wenn er direkt auf die canvas der Paintbox zeichnen ist die zeichnung weg wenn ein fenster drüber ist oder er minimiert und dann maximiert.

San 5. Jan 2005 16:28

Re: Canvas in TBitmap ???
 
verstehe das im moment alles nicht so wirklich, da ich mich mit delphi noch nicht so gut auskenne und vorallem nicht mit bitmaps.
kann mir das nicht vielleicht jemand in eine einfache ButtonClick procedure oder so schreiben?
damit wäre mir glaube ich am meißten geholfen, da ich sonst bestimmt nur immer neue probleme hätte, weil ich selbst einfache sachen nicht hinbekommen würde.

Birzenbae 5. Jan 2005 17:14

Re: Canvas in TBitmap ???
 
@san dann sag mal was genau du haben bzw. machen willst, denn erst dann können wir dir wirklich helfen.

San 5. Jan 2005 18:41

Re: Canvas in TBitmap ???
 
also, ich habe eine paintbox, in die in meinem programm eben etwas gezeichnet wird. wenn diese bild dann fertig gezeichnet ist, würde ich es gerne speichern.
also eigentlich möchte ich "nur" den inhalt einer paintbox speichern

Birzenbae 5. Jan 2005 21:33

Re: Canvas in TBitmap ???
 
da paintbox kein savetofile besitzt wirst wohl oder übel über TBitMap speichern müssen und das machst du dann so:
ins private kommt das
Delphi-Quellcode:
Bild: TBitmap; //deklaration der variable Bild vom type TBitmap
in die OnCreate-procedure der Form kommt das hier
Delphi-Quellcode:
Bild:=TBitmap.Create; //Bitmap in den Speicher Laden
Bild.Height:=PaintBox1.Height; //höhe
Bild.Width:=Paintbox1.Width;  //Breite der Bitmap festlegen
//kannst evtl. noch hier die qualität festlegen
und dann wenn du speichern willst kommt das z.B. in die OnClick-procedure eines Buttons
Delphi-Quellcode:
  BitBlt(Bild.Canvas.Handle, 0, 0, PaintBox1.Width, PaintBox1.Height,
  PaintBox1.Canvas.Handle, 0, 0, SRCCOPY); //um von paintbox in Bitmapt/Bild zu zeichnen
  if SaveDialog1.Execute then
    Bild.Savetofile(SaveDialog1.Filename) //speichern
  else
   exit;  //sonst verlassen des SaveDialogs
so das wäre das reine speichern von einer Paintbox per Bitmap
natürlich musst du noch die funktionen um auf die Paintbox zu zeichnen noch selbst reinschreiben.
wenn die Paintbox dann bemalt ist und du speicherst sollte deine gespeicherte bitmap auch das enthalten was die Paintbox enthielt.

San 5. Jan 2005 22:24

Re: Canvas in TBitmap ???
 
vielen Dank Birzenbae!!! :cheers:
jetzt klappt das speichern!!! :bounce2: :bounce1: :bouncing4: :hello:

Liebe Grüße
San

PS: noch ein kleiner Hinweis, in der 2. Zeile des 3. Quelltextes hast du aus versehen PaintBox.Height anstatt PaintBox1.Height geschrieben.

Birzenbae 5. Jan 2005 22:27

Re: Canvas in TBitmap ???
 
ach man hilft doch gerne....
hab doch gewusst das irgendwas mal wieder falsch ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.
Seite 3 von 3     123   

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