Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TImage Komponente neu zeichnen (https://www.delphipraxis.net/13119-timage-komponente-neu-zeichnen.html)

cook 11. Dez 2003 11:55


TImage Komponente neu zeichnen
 
Hallo
Ich habe folgendes Problem:
Ich zeichne auf einer Formularkomponente TImage mittels Canvas Umrisse von Maschinen. Wenn ich jedoch nun die Breite/Länge der Imagekomponente ändern will oder alte Umrisse überzeichnen will werden trotz Aufruf von TForm.Image.Refresh bzw. Repaint noch die alten Umrisse die nicht durch neue überzeichnet werden angezeigt und auch die Breite/Länge ändert sich nicht. Jedoch will ich ja eben bei jedem Aufruf der Form das die Imagekomponente komplett neu gezeichnet wird. Zur Info: Ich erzeuge die Komponente nicht erst zur Laufzeit, sondern weiße ihr lediglich Länge und Breite zu. Liegt das vielleicht daran?
Wenn nicht, wo liegt mein Fehler??

mfg cook

Gandalfus 11. Dez 2003 11:58

Re: TImage Komponente neu zeichnen
 
Zitat:

Zitat von cook
Hallo
Ich habe folgendes Problem:
Ich zeichne auf einer Formularkomponente TImage mittels Canvas Umrisse von Maschinen.

Auf TImage zeichnet man nicht dafür giebt es die Paintbox.

Tpercon 11. Dez 2003 12:28

Re: TImage Komponente neu zeichnen
 
Zitat:

Zitat von Gandalfus
Auf TImage zeichnet man nicht dafür giebt es die Paintbox.

Nur 'ne TImage Komponente hat z.B. den Vorteil dass das Bild noch nach einem Minimieren des Formulars vorhanden ist. Daher verwende ich das auch immer.

Zur eigentlichen Frage:
Da kannst du meines Wissens nach z.B. nur mit nem gefüllten Rechteck drübermalen.

cook 11. Dez 2003 12:43

Re: TImage Komponente neu zeichnen
 
Zitat:

Zitat von Tpercon
Nur 'ne TImage Komponente hat z.B. den Vorteil dass das Bild noch nach einem Minimieren des Formulars vorhanden ist. Daher verwende ich das auch immer.

Genau so soll das sein.

Zitat:

Zur eigentlichen Frage:
Da kannst du meines Wissens nach z.B. nur mit nem gefüllten Rechteck drübermalen.
D.h. also das ich bei jedem neu Aufruf des Formulars erstmal ein Rechteck der Größe des TImages drüber lege und dann anfange neu zu zeichnen!?

Tpercon 11. Dez 2003 12:46

Re: TImage Komponente neu zeichnen
 
Zitat:

Zitat von cook
D.h. also das ich bei jedem neu Aufruf des Formulars erstmal ein Rechteck der Größe des TImages drüber lege und dann anfange neu zu zeichnen!?

So mach ich das zumindest. :gruebel:

cook 11. Dez 2003 12:49

Re: TImage Komponente neu zeichnen
 
hm... naja, ist zwar bestimmt nicht die schönste Lösung :? aber es funktioniert :-D

Gandalfus 11. Dez 2003 13:33

Re: TImage Komponente neu zeichnen
 
Zitat:

Zitat von Tpercon
Nur 'ne TImage Komponente hat z.B. den Vorteil dass das Bild noch nach einem Minimieren des Formulars vorhanden ist. Daher verwende ich das auch immer.

Schonmal was von dem Ereignis onpaint gehört? :?
Timage ist nur zum anzeigen von Bilder gut. Timage sollte weder bewegt werden noch sollte darauf gezeichnet werden.

Tpercon 11. Dez 2003 13:37

Re: TImage Komponente neu zeichnen
 
Zitat:

Zitat von Gandalfus
Zitat:

Zitat von Tpercon
Nur 'ne TImage Komponente hat z.B. den Vorteil dass das Bild noch nach einem Minimieren des Formulars vorhanden ist. Daher verwende ich das auch immer.

Schonmal was von dem Ereignis onpaint gehört? :?
Timage ist nur zum anzeigen von Bilder gut. Timage sollte weder bewegt werden noch sollte darauf gezeichnet werden.

Dann erkläre uns doch bitte, wie wir damit umgehen müssen, damit es beim Minimieren nicht neu gezeichnet wird.

Gandalfus 11. Dez 2003 16:27

Re: TImage Komponente neu zeichnen
 
immer auf ein TBitmap zeichnen und dann in onpaint das Bild auf die Paintbox kopieren.

cook 11. Dez 2003 17:29

Re: TImage Komponente neu zeichnen
 
Und was verbietet mir jetzt auf ein TImage zu zeichnen?
Entstehen da irgendwelche Performanzprobleme, Speicherschwierigkeiten oder was?
Weil, wenns funktioniert, dann kann ich das doch machen oder? :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 Uhr.
Seite 1 von 2  1 2      

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