Ich glaube nicht, das man durch Einsetzen der Parameter der affinen Abbildung in SetWorldTransform() gleich das
Rad neu erfindet.
Das ist so ähnlich wie das Einsetzen eines Strings in ShowMessage() - nur hier halt mit Zahlen.
Wenn wir bei Lösungen Dritter sind...
Graphics32 ist auch bestens geeignet für solche Aufgaben (verschiedene Filter); und extrem schnell ist's auch.
Und Firemonkey kennt solche Dinge ja auch von Haus aus - ohne Wenn und Räder...
.