Ich würde der Knoten-Klasse eine Methode Draw(aCanvas: TCanvas, ...) spendieren, die sich selbst und alle Unterknoten auf die Canvas zeichnet. Dann erstellst du ein Bitmap, übergibst dessen Canvas dem Wurzel-Objekt und verwendest das Resultat als
Background-Bitmap der Paintbox. Feddisch.