Meine Anwendung stellt eine (Raster-)Wanderkarte dar. Ich muss in der Lage sein, die Karte um einen beliebigen Winkel gedreht darzustellen. Das Programm ist derzeit in VC++/MFC, aber das Problem ist allgemeiner Natur. Ich habe eine Quellbitmap (CBitmap oder HBITMAP) und zeichne sie mit StretchBlt in den Gerätekontext (CDC). Während dies schnell und reibungslos für Winkel=0 funktioniert (und der Benutzer kann die Karte reibungslos mit der Maus greifen), ist dies nicht der Fall, wenn ich versuche, die Bitmap zu drehen und dann zu präsentieren (die Drehung der Bitmap mit SetWorldTransform() oder so dauert Hunderte von Millisekunden und dies ist zu langsam).
Ich denke, dass die Lösung darin besteht, sich nur auf die Pixel zu beziehen, die derzeit auf dem Bildschirm zu sehen sind, und nicht die ursprüngliche Quell-Bitmap zu drehen - und das ist der Schlüssel.
Wenn jemand Erfahrung mit einer ähnlichen Implementierung hat, könnte mir das eine Menge Versuch und Irrtum ersparen. Danke! Avi.