Wie wär's mit Lesen der Doku?
TImage.Canvas soll, wie da auch ausdrücklich steht, nur genutzt werden, wenn TImage eine Bitmap enthält. (Falls TPicture nicht initialisiert ist, wird eine TBitmap erstellt.) Ist eine PNG drin, würde man
(Image.Picture.Graphic as TPNGImage).Canvas
benutzen.
TImage ist dafür gedacht, dass du Bitmaps, Metafiles or Icons drauf anzeigst. Sieht man gut an den Eigenschaften von TPicture. Alles andere geht, aber schlecht. Alternativen gibt es nicht wirklich, muss man also mit leben.