Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wo wird der Inhalt in der Instanz von TImage gespeichert? (https://www.delphipraxis.net/33026-wo-wird-der-inhalt-der-instanz-von-timage-gespeichert.html)

Robert Marquardt 9. Dez 2004 05:50

Re: Wo wird der Inhalt in der Instanz von TImage gespeichert
 
Image und seine Bitmap sind verschraenkt. Das Image hat das OnChange der Bitmap auf eine eigene Methode gesetzt und
bemerkt daher die Aenderungen. Umgekehrt geht es auch. Wahrscheinlich lenkt das Image die Schreiboperationen auf die Bitmap um.
Icvh muss mir das nochmal genauer anschauen.

teebee 9. Dez 2004 15:33

Re: Wo wird der Inhalt in der Instanz von TImage gespeichert
 
Zitat:

Zitat von Robert Marquardt
Wahrscheinlich lenkt das Image die Schreiboperationen auf die Bitmap um.

Richtig, TImage.GetCanvas liefert den Canvas der enthaltenen Bitmap zurück bzw. erzeugt das Bitmap, wenn noch nicht vorhanden. D.h. alle Operationen auf Image.Canvas beziehen sich auf den Canvas der Bitmap. Achtung: es knallt, wenn schon ein anderer Grafiktyp im Image ist, dann muss man über dessen Canvas gehen.

Gruß, teebee

Robert Marquardt 9. Dez 2004 16:04

Re: Wo wird der Inhalt in der Instanz von TImage gespeichert
 
Ich wollte mal ein TImage schreiben das die Bitmap gekachelt anzeigt und das fliegt einem um die Ohren,
da man ja wenn man aufs TImage malt, genau in die Bitmap malt die man kacheln will.
Man kann es aber trotzdem hinkriegen.

dizzy 9. Dez 2004 16:05

Re: Wo wird der Inhalt in der Instanz von TImage gespeichert
 
:shock: Is ja nen Dingen! Wieder was dazu gelernt :)
Aber praktisch finde ich das irgendwie nicht. Für einen "Anfänger" sicherlich nachvollziehbarer, aber ich hätte jetzt echt erwartet, dass das Image.Canvas auf das Control selbst bezogen ist (wie bei allen anderen Controls ja auch), und dass das Zeichnen durch Bitmap.Canvas im Image sichtbar wird ist ja klar, weil es das Bitmap ja anzeigt :)
D.h. wenn ich auf ein Image.Canvas zeichne, muss ich das nicht OnPaint aktualisieren, da es ja an das Bitmap "durchgereicht" wird, und dieses wird ohnehin OnPaint neugezeichnet, gell!? Hmmm... weicht mir zu sehr vom Standardverhalten von Controls (bzw, deren Canvases) ab :?
Hätt ich anders gemacht :mrgreen:

Tüssken,
Fabian

teebee 9. Dez 2004 17:15

Re: Wo wird der Inhalt in der Instanz von TImage gespeichert
 
Prinzipiell ist ein TImage ja auch gar nicht zum Zeichnen gedacht, sondern zum Anzeigen von fertigen Bildern. Zum Zeichnen nimmt man ja eigentlich eine TPaintBox. Wenn man schon auf ein Image malen möchte, sollte man halt immmer über das Picture gehen, dann kann auch nix schiefgehen.

Gruß, teebee

dizzy 9. Dez 2004 21:04

Re: Wo wird der Inhalt in der Instanz von TImage gespeichert
 
Ich mache das, bzw. setze ich eigentlich immer ein Offscreen-Bitmap ein. Aber gerade Neulinge, so wie ich auch am Anfang, malen ja sehr gerne auf einem Image rum. Und dadurch dass es damit dann geht, sind viele (ich auch zuerst) sehr verwundert, weil es bei anderen Kompos auf einmal nicht mehr so geht. Ein zu weiches Kissen imho. Man wird dadurch ja geradezu verdorben :D :stupid:

Aber watt soll's - ist ja nun wirklich fast eine Belanglosigkeit.

Ciao,
Fabian


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 Uhr.
Seite 2 von 2     12   

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