Я согласен с Алом - он заслуживает ответа, но этот (предположительно непроверенный) фрагмент кода должен делать то, что вы просили:
def write_bmp_to_dc_rotated( dc, bitmap, angle ):
'''
Rotate a bitmap and write it to the supplied device context.
'''
img = bitmap.ConvertToImage()
img_centre = wx.Point( img.GetWidth()/2, img.GetHeight()/2 )
img = img.Rotate( angle, img_centre )
dc.WriteBitmap( img.ConvertToBitmap(), 0, 0 )
Что следует отметить из документов :
... использование wxImage является предпочтительным способом загрузки изображений в wxWidgets, за исключением ресурсов ...
Была ли особая причина загружать его как растровое изображение, а не как wx.Image?