Was viele nicht bedenken ist die Tatsache, dass die zugrundeliegenden Daten (hier ein Bild) nach der Darstellung auf dem Bildschirm von diesen entkoppelt sind also nur ein Abbild der Daten und nicht die Daten selber sind. Es ist wie ein Stempel der da auf eine Leinwand gedrückt wird.
Um Daten und Darstellung synchron zu halten muss eben bei jedem Neuzeichnen diese Daten wieder auf die Leinwand, bzw. bei der Änderung der Daten, das Neuzeichnen der Leinwand erzwungen werden.
In diesem Fall ist es absolut möglich auf der Leinwand (Canvas) des Images einen Text zu malen.
Nur muss man eben sicherstellen, dass bei jedem Neuzeichnen dieser Text auch wieder drauf kommt.
Und dafür gibt es das Ereignis OnPaint