Das Canvas in deinem Schnipsel da oben ist sicherlich in einer Methodes eines Formulares. Dort referenziert es implizit
self.Canvas, und TForm.Canvas ist mit einer Zeichnfläche hinterlegt, wie auch TBitmap.
Wieder ein Fall, wo ich die Namenswahl von "Canvas" anprangern muss, da sie völlig irreführend ist. Alles, was "Canvas" macht ist, dir eine Palette, Farbpaste und Pinsel in die Hand zu drücken. Die Staffelei und die Leinwand (engl. Canvas) und den Keilrahmen musst du selbst besorgen. TCanvas alleine (ohne einen assoziierten
DC) stellt reine Funktionalität bereit, nicht mehr.
Es macht nur Sinn, eine Instanz von TCanvas selbst zu erzeugen und verwenden, wenn man dieser nach Erstellung noch einen
DC verpasst. TBitmap tut dies für dich.
"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)