AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Canvas in TBitmap ???
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas in TBitmap ???

Ein Thema von GLaforge · begonnen am 25. Dez 2004 · letzter Beitrag vom 5. Jan 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von GLaforge
GLaforge

Registriert seit: 16. Nov 2003
Ort: Halle
106 Beiträge
 
Delphi 6 Enterprise
 
#1

Canvas in TBitmap ???

  Alt 25. Dez 2004, 18:01
Hi,
hab mal wieder eine sicherlich leicht zu beantwortende Frage für euch. Hab schon oft gelesen, dass man z.Bsp.: auf eine PaintBox etwas zeichnet und dies dann in TImage umwandeln kann. Ist dies richtig und welche Vorteile würde mir das bringen. Würde mich über zahlreiche Antworten freuen - denkt bitte daran ich bin kein Informatiker nur ein einfacher Info-Schüler !!
Vielen Dank
Cogito ergo sum - Ich denke also bin Ich
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Canvas in TImage ???

  Alt 25. Dez 2004, 23:13
ich vermute du kannst die bitmap der paintbox der bitmap des Images mit assign zuweisen, jedoch seh ich da keinen Sinn. Warum erst Paintbiox nhemen dann auf das image knallen wenn man auch gleich nen Image nehmen kann?

Also ich nehme für so zeichen zeugs immer nen TImage
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Canvas in TImage ???

  Alt 25. Dez 2004, 23:19
Eine PaintBox ist schneller.
Du brauchst dann kein Image, um das Bild der Paintbox zu speichern, falls du das (Image1.SaveToFile()) vorhast.

Einfach ein Bitmap erstellen und da den Inhalt der Paintbox draufknallen.
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#4

Re: Canvas in TImage ???

  Alt 25. Dez 2004, 23:39
"Zeichne" auf eine TBitmap im "Hintergrund".
Wenn du alles gezeichnet hast, malst du alles über Canvas.Draw(x,y, TBitmap) auf dein Formular.
Im OnPaint Ereignis deines Fensters zeichnest du die Grafik neu.
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Canvas in TImage ???

  Alt 25. Dez 2004, 23:40
bitblt wäre performanter. da fallen einige überprüfungen weg in der vcl
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von GLaforge
GLaforge

Registriert seit: 16. Nov 2003
Ort: Halle
106 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Canvas in TBitmap ???

  Alt 26. Dez 2004, 12:54
Hi,
ich merk gerade, dass ich ein inhaltlichen Fehler eingebaut habe. Ich möcht natürlich wissen wie ich ein mit Canvas gezeichnetes Bild (über PaintBox) in TBitmap transformieren kann. Ich bitte um möglichst leicht verständliche Code-Schnipsel oder alles was mir weiter hilft.

cu
Cogito ergo sum - Ich denke also bin Ich
  Mit Zitat antworten Zitat
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#7

Re: Canvas in TBitmap ???

  Alt 26. Dez 2004, 13:02
Hallo, ich hoffe, dass der folgende Code richtig in meinem Kopf abgespeichert ist!

Du benötigst ne PaintBox!

Delphi-Quellcode:
var
Bitmap: TBitmap;

...
procedure TForm1.FormCreate(Sender: TObject);
begin
Bitmap:= TBitmap.Create; //erstellt eine Bitmap
Bitmap.PixelFormat:= pf32bit; //Bitmap erhält eine Bittiefe von 32 Bit (hohe Qualität)
Bitmap.Heigth:= PaintBox1.Heigth; //Höhe der Bitmap ist gleich der Höhe der Paintbox
Bitmap.Width:= Paintbox1.Width; //Breite der Bitmap ist gleich der Breite der Paintbox

PaintBox1.Canvas.Draw(0,0,Bitmap); //Bitmap wird in Paintbox gezeichnet

Bitmap.SaveToFile('C:\1.bmp'); //Bitmap wird als Bitmap auf Festplatte abgespeichert
end;
Nun kannst du durch die Canvas Eigenschaft der Bitmap alles Zeichenoperationen durchführen!
  Mit Zitat antworten Zitat
Benutzerbild von GLaforge
GLaforge

Registriert seit: 16. Nov 2003
Ort: Halle
106 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Canvas in TBitmap ???

  Alt 26. Dez 2004, 13:10
thx @ hansklok ,damit kann ich was anfangen
Cogito ergo sum - Ich denke also bin Ich
  Mit Zitat antworten Zitat
San

Registriert seit: 4. Jan 2005
Ort: Winningen
9 Beiträge
 
#9

Re: Canvas in TBitmap ???

  Alt 4. Jan 2005, 22:06
Hallo,

habe auch versucht das Bild einer Paintbox in ein Bitmap zu zeichnen und dieses dann abzuspeichern. Habe schon verschiedene Methoden probiert, aber keine hat funktioniert.

Habe es jetzt auch einmal mit dem Code von hansklok probiert. Damit erhielt ich keine Fehlermeldung (musste nur heigth in height umändern) und es wurde auch etwas gespeichert. Allerdings wurde dabei der Inhalt meiner Paintbox gelöscht und die gespeicherte Datei ist auch nur weiß, also leer.

Außerdem würde ich gerne selber einen Namen für das Bild eingeben und den Speicherort bestimmen. Dies kann man doch dann eigentlich nur mit einem SaveDialog machen, oder?
Also so etwa.
Code:
Bitmap.SaveToFile(SaveDialog1.Filename);
Dabei erhalte ich allerdings immer die Fehlermeldung undefinierter Bezeichner SaveToFile oder so oder mein Programm stürzt ab, sobald ich auf Speicher klicke.
Waran liegt das?
Auch mit picture.savetofile funktioniert das ganze nicht.

wäre wriklich toll, wenn mir jemand weiterhelfen könnte. schonmal vielen dank im voraus!!

liebe grüße
san
  Mit Zitat antworten Zitat
Magier

Registriert seit: 2. Okt 2004
Ort: Bergisch Gladbach
39 Beiträge
 
Delphi 7 Personal
 
#10

Re: Canvas in TBitmap ???

  Alt 4. Jan 2005, 22:25
Zitat von San:
Außerdem würde ich gerne selber einen Namen für das Bild eingeben und den Speicherort bestimmen. Dies kann man doch dann eigentlich nur mit einem SaveDialog machen, oder?
Also so etwa.
Code:
Bitmap.SaveToFile(SaveDialog1.Filename);
Dabei erhalte ich allerdings immer die Fehlermeldung undefinierter Bezeichner SaveToFile oder so oder mein Programm stürzt ab, sobald ich auf Speicher klicke.
Waran liegt das?
Auch mit picture.savetofile funktioniert das ganze nicht.
wird der savedialog den auch per savedialog1.execute aufgerufen?

ich habe bisher nur sehr wenig mit tcanvas gearbeitet, aber muss es nicht anstatt
PaintBox1.Canvas.Draw(0,0,Bitmap); //Bitmap wird in Paintbox gezeichnet so heißen
Bitmap.Canvas.Draw(0,0,PaintBox1); //Bitmap wird in Paintbox gezeichnet wenn ich mich irre verbessert mich bitte.

mfg
das magier
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 18:23 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